# import extensions import datatypes import utils import exportri from exportri import ExportRunInstance class TracelogExport(extensions.Operation): name = "Tracelog export" description = "Export data from tracelog into a table" parameters = [ extensions.Parameter("Tracelog", datatypes.t_tracelog) ] def run(self, app, tracelog): settings = exportri.run_assistant(app, tracelog); if settings is None: return ri = ExportRunInstance(tracelog, *settings) tracelog.execute_all_events(ri) return extensions.Source("Tracelog Table", datatypes.t_table, ri.get_table()) extensions.add_operation(TracelogExport)
"Compare", [("Equal", lambda x, y: x == y), ("Not equal", lambda x, y: x != y)], ncols=2) return s_widget assistant.append_setting_widget("Select columns", create_page_1) assistant.append_setting_widget("Set filters", create_page_2) if not assistant.run(): return None selected_columns = assistant.collected_setting[0]["selected_cols"] filter_by = assistant.collected_setting[1] cmp_fns = {} for col_idx in selected_columns: cmp_fns[col_idx] = filter_by.get("cmp_fn{0}".format(col_idx)) # filter data def f(row): return all(cmp_fns[idx](filter_by[idx], row[idx]) for idx in selected_columns) filtered_data = (header, filter(f, rows)) return Source("Filtered table " + utils.get_timestamp_string(), t_table, filtered_data) add_operation(Filter)
# along with Kaira. If not, see <http://www.gnu.org/licenses/>. # import extensions import datatypes import utils import exportri from exportri import ExportRunInstance class TracelogExport(extensions.Operation): name = "Tracelog export" description = "Export data from tracelog into a table" parameters = [extensions.Parameter("Tracelog", datatypes.t_tracelog)] def run(self, app, tracelog): settings = exportri.run_assistant(app, tracelog) if settings is None: return ri = ExportRunInstance(tracelog, *settings) tracelog.execute_all_events(ri) return extensions.Source("Tracelog Table", datatypes.t_table, ri.get_table()) extensions.add_operation(TracelogExport)
"Compare", [("Equal", lambda x, y: x == y), ("Not equal", lambda x, y: x != y), ("Less than", lambda x, y: x < y), ("Greater than", lambda x, y: x > y)], ncols=2) return s_widget assistant.append_setting_widget("Select columns", create_page_1) assistant.append_setting_widget("Filter rows", create_page_2) assistant.append_setting_widget("Set filters", create_page_3) if assistant.run() != RESPONSE_APPLY: return selected_columns = assistant.get_setting("selected_cols") filter_by_columns = assistant.get_setting("filter_by") filters = [] for col_idx in filter_by_columns: cmp_function = assistant.get_setting("cmp_fn{0}".format(col_idx)) value = assistant.get_setting("filter_value{0}".format(col_idx)) value = utils.convert_to_type(table.types[col_idx], value) filters.append((table.header[col_idx], cmp_function, value)) filtered = table.select(selected_columns, filters) t = Table.create_from_data(filtered) return Source("Filtered table", t_table, t) add_operation(Filter)
import extensions import datatypes class TracelogProcessing(extensions.Operation): name = "Tracelog processing" description = "Processing group tracelog into graph" parameters = [ extensions.Parameter("Group", datatypes.t_tracelog)] def run(self, app, group): print(type(group)) print("konec") extensions.add_operation(TracelogProcessing)