taucmdr.model.measurement module¶
Measurement data model.
Measurement completely describes the performance data measurements
we wish to perform. It is often the case that we do not wish to gather all
the available data in a single run since overhead would be extreme. Different
measurements allow us to take different views of the application’s performance.
- class taucmdr.model.measurement.Measurement(record)[source]¶
Bases:
ModelMeasurement data model.
- _attributes = {'baseline': {'argparse': {'flags': ('--baseline',), 'group': 'instrumentation'}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'completely disable all instrumentation and measure wall clock time via the OS', 'type': 'boolean'}, 'callpath': {'argparse': {'const': 100, 'flags': ('--callpath',), 'group': 'data', 'metavar': 'depth', 'nargs': '?'}, 'default': 100, 'description': 'maximum depth for callpath recording', 'type': 'integer'}, 'callsite': {'argparse': {'flags': ('--callsite',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'record event callsites', 'type': 'boolean'}, 'comm_matrix': {'argparse': {'flags': ('--comm-matrix',)}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'record the point-to-point communication matrix', 'type': 'boolean'}, 'compiler_inst': {'argparse': {'choices': ('always', 'fallback', 'never'), 'const': 'always', 'flags': ('--compiler-inst',), 'group': 'instrumentation', 'metavar': 'mode', 'nargs': '?'}, 'compat': {<function attributes.<locals>.<lambda>>: (<function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function Model.construct_condition.<locals>.condition>)}, 'default': 'never', 'description': 'use compiler-generated callbacks to gather performance data', 'rebuild_required': True, 'type': 'string'}, 'cuda': {'argparse': {'flags': ('--cuda',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'measure cuda events via the CUPTI interface', 'type': 'boolean'}, 'extra_tau_options': {'argparse': {'flags': ('--extra-tau-options',), 'metavar': '<option>', 'nargs': '+'}, 'compat': {<class 'bool'>: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'description': 'append extra options to TAU_OPTIONS environment variable (not recommended)', 'rebuild_on_change': True, 'type': 'array'}, 'force_tau_options': {'argparse': {'flags': ('--force-tau-options',), 'metavar': '<option>', 'nargs': '+'}, 'compat': {<class 'bool'>: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'description': 'forcibly set the TAU_OPTIONS environment variable (not recommended)', 'rebuild_on_change': True, 'type': 'array'}, 'heap_usage': {'argparse': {'flags': ('--heap-usage',), 'group': 'memory'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'measure heap memory usage', 'type': 'boolean'}, 'io': {'argparse': {'flags': ('--io',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function _darwin_io_needs_tau_exec>)}, 'default': False, 'description': 'measure time spent in POSIX I/O calls', 'type': 'boolean'}, 'keep_inst_files': {'argparse': {'flags': ('--keep-inst-files',), 'group': 'instrumentation'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': "don't remove instrumented files after compilation", 'type': 'boolean'}, 'level_zero': {'argparse': {'flags': ('--level_zero',)}, 'default': False, 'description': 'Level zero ', 'type': 'boolean'}, 'memory_alloc': {'argparse': {'flags': ('--memory-alloc',), 'group': 'memory'}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'record memory allocation/deallocation events and detect leaks', 'type': 'boolean'}, 'metadata_merge': {'argparse': {'flags': ('--metadata-merge',)}, 'default': True, 'description': 'merge metadata of TAU profiles', 'type': 'boolean'}, 'metrics': {'argparse': {'flags': ('--metrics',), 'group': 'data', 'metavar': '<metric>'}, 'compat': {<function attributes.<locals>.<lambda>>: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>), <function attributes.<locals>.<lambda>>: <function Model.construct_condition.<locals>.condition>}, 'default': ['TIME'], 'description': 'a space or comma separated list of performance metrics to gather, e.g. TIME PAPI_FP_INS', 'rebuild_required': True, 'type': 'array'}, 'mpi': {'argparse': {'flags': ('--mpi',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'use MPI library wrapper to measure time spent in MPI methods', 'rebuild_required': True, 'type': 'boolean'}, 'mpit': {'argparse': {'flags': ('--mpit',)}, 'default': False, 'description': 'MPI-T profiling interface', 'type': 'boolean'}, 'name': {'description': 'measurement configuration name', 'primary_key': True, 'type': 'string', 'unique': True}, 'openacc': {'argparse': {'flags': ('--openacc',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'use OpeACC library wrapper to measure time spent in OpenACC methods', 'rebuild_required': True, 'type': 'boolean'}, 'opencl': {'argparse': {'flags': ('--opencl',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'measure OpenCL events', 'type': 'boolean'}, 'openmp': {'argparse': {'choices': ('ignore', 'opari', 'ompt'), 'const': 'ompt', 'flags': ('--openmp',), 'metavar': 'library', 'nargs': '?'}, 'compat': {'ompt': (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>), 'opari': (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': 'ignore', 'description': 'use specified library to measure time spent in OpenMP directives', 'rebuild_required': True, 'type': 'string'}, 'profile': {'argparse': {'choices': ('tau', 'merged', 'cubex', 'sqlite', 'none'), 'const': 'tau', 'flags': ('--profile',), 'group': 'output format', 'metavar': '<format>', 'nargs': '?'}, 'compat': {'cubex': <function Model.construct_condition.<locals>.condition>, 'merged': <function attributes.<locals>._merged_profile_compat>, 'sqlite': <function Model.construct_condition.<locals>.condition>}, 'default': 'tau', 'description': 'generate application profiles', 'rebuild_required': True, 'type': 'string'}, 'projects': {'collection': <class 'taucmdr.model.project.Project'>, 'description': 'projects using this measurement', 'via': 'measurements'}, 'ptts': {'argparse': {'flags': ('--ptts',)}, 'default': False, 'description': 'enable support for PTTS', 'type': 'boolean'}, 'ptts_post': {'argparse': {'flags': ('--ptts-post',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'skip application sampling and post-process existing PTTS sample files', 'type': 'boolean'}, 'ptts_report_flags': {'argparse': {'flags': ('--ptts-report-flags',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': '', 'description': 'flags to pass to PTTS report_ts command', 'type': 'string'}, 'ptts_restart': {'argparse': {'flags': ('--ptts-restart',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'enable restart support within PTTS, allowing application to continuerunning and be reinstrumented after stop', 'type': 'boolean'}, 'ptts_sample_flags': {'argparse': {'flags': ('--ptts-sample-flags',), 'metavar': 'sample_flags'}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': '', 'description': 'flags to pass to PTTS sample_ts command', 'type': 'string'}, 'ptts_start': {'argparse': {'flags': ('--ptts-start',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': '', 'description': 'address at which to start a PTTS sampling region', 'type': 'string'}, 'ptts_stop': {'argparse': {'flags': ('--ptts-stop',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': '', 'description': 'address at which to stop a PTTS sampling region', 'type': 'string'}, 'reuse_inst_files': {'argparse': {'flags': ('--reuse-inst-files',), 'group': 'instrumentation'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'reuse and preserve instrumented files after compilation', 'type': 'boolean'}, 'sample': {'argparse': {'flags': ('--sample',), 'group': 'instrumentation'}, 'compat': {True: (<function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function Model.construct_condition.<locals>.condition>)}, 'default': True, 'description': 'use event-based sampling to gather performance data', 'type': 'boolean'}, 'sample_resolution': {'argparse': {'choices': ('file', 'function', 'line'), 'flags': ('--sample-resolution',), 'metavar': 'file/function/line', 'nargs': '?'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': 'line', 'description': 'sample resolution', 'type': 'string'}, 'sampling_period': {'argparse': {'const': 5000, 'flags': ('--sampling-period',), 'metavar': 'us', 'nargs': '?'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': 5000, 'description': 'default sampling period in microseconds', 'type': 'integer'}, 'select_file': {'argparse': {'flags': ('--select-file',), 'metavar': 'path'}, 'compat': {<class 'bool'>: (<function attributes.<locals>._ensure_instrumented>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'description': 'specify selective instrumentation file', 'rebuild_required': True, 'type': 'string'}, 'shmem': {'argparse': {'flags': ('--shmem',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'use SHMEM library wrapper to measure time spent in SHMEM methods', 'rebuild_required': True, 'type': 'boolean'}, 'source_inst': {'argparse': {'choices': ('automatic', 'manual', 'never'), 'const': 'automatic', 'flags': ('--source-inst',), 'group': 'instrumentation', 'metavar': 'mode', 'nargs': '?'}, 'compat': {<function attributes.<locals>.<lambda>>: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': 'never', 'description': 'use hooks inserted into the application source code to gather performance data', 'rebuild_required': True, 'type': 'string'}, 'system_load': {'argparse': {'flags': ('--system-load',), 'group': 'data'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'measure system load', 'type': 'boolean'}, 'tag': {'argparse': {'flags': ('--tag',), 'metavar': '<tags>', 'nargs': '+'}, 'default': '', 'description': 'Narrow search for tags', 'type': 'string'}, 'throttle': {'argparse': {'flags': ('--throttle',)}, 'default': True, 'description': 'throttle lightweight events to reduce overhead', 'type': 'boolean'}, 'throttle_num_calls': {'argparse': {'const': 100000, 'flags': ('--throttle-num-calls',), 'metavar': 'count', 'nargs': '?'}, 'default': 100000, 'description': 'lightweight event call count threshold', 'type': 'integer'}, 'throttle_per_call': {'argparse': {'const': 10, 'flags': ('--throttle-per-call',), 'metavar': 'us', 'nargs': '?'}, 'default': 10, 'description': 'lightweight event duration threshold in microseconds', 'type': 'integer'}, 'trace': {'argparse': {'choices': ('slog2', 'otf2', 'none'), 'const': 'otf2', 'flags': ('--trace',), 'group': 'output format', 'metavar': '<format>', 'nargs': '?'}, 'compat': {'otf2': <function Model.construct_condition.<locals>.condition>, <function attributes.<locals>.<lambda>>: <function attributes.<locals>._discourage_callpath>}, 'default': 'none', 'description': 'generate application traces', 'rebuild_required': True, 'type': 'string'}, 'track_memory_footprint': {'argparse': {'flags': ('--track-memory-footprint',), 'group': 'memory'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'track memory footprint', 'type': 'boolean'}, 'unwind_depth': {'argparse': {'const': 10, 'flags': ('--unwind-depth',), 'group': 'data', 'metavar': 'depth', 'nargs': '?'}, 'compat': {<function attributes.<locals>.<lambda>>: <function Model.construct_condition.<locals>.condition>}, 'default': 0, 'description': 'Record callstack to specified depth', 'type': 'integer'}, 'update_nightly': {'argparse': {'flags': ('--update-nightly',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'Download newest TAU nightly', 'type': 'boolean'}}¶
- _key_attribute = 'name'¶
- associations = {'projects': (<class 'taucmdr.model.project.Project'>, 'measurements')}¶
(Controller, str) tuples keyed by attribute name defining attribute associations.
- attributes = {'baseline': {'argparse': {'flags': ('--baseline',), 'group': 'instrumentation'}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'completely disable all instrumentation and measure wall clock time via the OS', 'type': 'boolean'}, 'callpath': {'argparse': {'const': 100, 'flags': ('--callpath',), 'group': 'data', 'metavar': 'depth', 'nargs': '?'}, 'default': 100, 'description': 'maximum depth for callpath recording', 'type': 'integer'}, 'callsite': {'argparse': {'flags': ('--callsite',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'record event callsites', 'type': 'boolean'}, 'comm_matrix': {'argparse': {'flags': ('--comm-matrix',)}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'record the point-to-point communication matrix', 'type': 'boolean'}, 'compiler_inst': {'argparse': {'choices': ('always', 'fallback', 'never'), 'const': 'always', 'flags': ('--compiler-inst',), 'group': 'instrumentation', 'metavar': 'mode', 'nargs': '?'}, 'compat': {<function attributes.<locals>.<lambda>>: (<function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function Model.construct_condition.<locals>.condition>)}, 'default': 'never', 'description': 'use compiler-generated callbacks to gather performance data', 'rebuild_required': True, 'type': 'string'}, 'cuda': {'argparse': {'flags': ('--cuda',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'measure cuda events via the CUPTI interface', 'type': 'boolean'}, 'extra_tau_options': {'argparse': {'flags': ('--extra-tau-options',), 'metavar': '<option>', 'nargs': '+'}, 'compat': {<class 'bool'>: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'description': 'append extra options to TAU_OPTIONS environment variable (not recommended)', 'rebuild_on_change': True, 'type': 'array'}, 'force_tau_options': {'argparse': {'flags': ('--force-tau-options',), 'metavar': '<option>', 'nargs': '+'}, 'compat': {<class 'bool'>: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'description': 'forcibly set the TAU_OPTIONS environment variable (not recommended)', 'rebuild_on_change': True, 'type': 'array'}, 'heap_usage': {'argparse': {'flags': ('--heap-usage',), 'group': 'memory'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'measure heap memory usage', 'type': 'boolean'}, 'io': {'argparse': {'flags': ('--io',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function _darwin_io_needs_tau_exec>)}, 'default': False, 'description': 'measure time spent in POSIX I/O calls', 'type': 'boolean'}, 'keep_inst_files': {'argparse': {'flags': ('--keep-inst-files',), 'group': 'instrumentation'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': "don't remove instrumented files after compilation", 'type': 'boolean'}, 'level_zero': {'argparse': {'flags': ('--level_zero',)}, 'default': False, 'description': 'Level zero ', 'type': 'boolean'}, 'memory_alloc': {'argparse': {'flags': ('--memory-alloc',), 'group': 'memory'}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'record memory allocation/deallocation events and detect leaks', 'type': 'boolean'}, 'metadata_merge': {'argparse': {'flags': ('--metadata-merge',)}, 'default': True, 'description': 'merge metadata of TAU profiles', 'type': 'boolean'}, 'metrics': {'argparse': {'flags': ('--metrics',), 'group': 'data', 'metavar': '<metric>'}, 'compat': {<function attributes.<locals>.<lambda>>: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>), <function attributes.<locals>.<lambda>>: <function Model.construct_condition.<locals>.condition>}, 'default': ['TIME'], 'description': 'a space or comma separated list of performance metrics to gather, e.g. TIME PAPI_FP_INS', 'rebuild_required': True, 'type': 'array'}, 'mpi': {'argparse': {'flags': ('--mpi',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'use MPI library wrapper to measure time spent in MPI methods', 'rebuild_required': True, 'type': 'boolean'}, 'mpit': {'argparse': {'flags': ('--mpit',)}, 'default': False, 'description': 'MPI-T profiling interface', 'type': 'boolean'}, 'name': {'description': 'measurement configuration name', 'primary_key': True, 'type': 'string', 'unique': True}, 'openacc': {'argparse': {'flags': ('--openacc',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'use OpeACC library wrapper to measure time spent in OpenACC methods', 'rebuild_required': True, 'type': 'boolean'}, 'opencl': {'argparse': {'flags': ('--opencl',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'measure OpenCL events', 'type': 'boolean'}, 'openmp': {'argparse': {'choices': ('ignore', 'opari', 'ompt'), 'const': 'ompt', 'flags': ('--openmp',), 'metavar': 'library', 'nargs': '?'}, 'compat': {'ompt': (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>), 'opari': (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': 'ignore', 'description': 'use specified library to measure time spent in OpenMP directives', 'rebuild_required': True, 'type': 'string'}, 'profile': {'argparse': {'choices': ('tau', 'merged', 'cubex', 'sqlite', 'none'), 'const': 'tau', 'flags': ('--profile',), 'group': 'output format', 'metavar': '<format>', 'nargs': '?'}, 'compat': {'cubex': <function Model.construct_condition.<locals>.condition>, 'merged': <function attributes.<locals>._merged_profile_compat>, 'sqlite': <function Model.construct_condition.<locals>.condition>}, 'default': 'tau', 'description': 'generate application profiles', 'rebuild_required': True, 'type': 'string'}, 'projects': {'collection': <class 'taucmdr.model.project.Project'>, 'description': 'projects using this measurement', 'via': 'measurements'}, 'ptts': {'argparse': {'flags': ('--ptts',)}, 'default': False, 'description': 'enable support for PTTS', 'type': 'boolean'}, 'ptts_post': {'argparse': {'flags': ('--ptts-post',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'skip application sampling and post-process existing PTTS sample files', 'type': 'boolean'}, 'ptts_report_flags': {'argparse': {'flags': ('--ptts-report-flags',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': '', 'description': 'flags to pass to PTTS report_ts command', 'type': 'string'}, 'ptts_restart': {'argparse': {'flags': ('--ptts-restart',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'enable restart support within PTTS, allowing application to continuerunning and be reinstrumented after stop', 'type': 'boolean'}, 'ptts_sample_flags': {'argparse': {'flags': ('--ptts-sample-flags',), 'metavar': 'sample_flags'}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': '', 'description': 'flags to pass to PTTS sample_ts command', 'type': 'string'}, 'ptts_start': {'argparse': {'flags': ('--ptts-start',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': '', 'description': 'address at which to start a PTTS sampling region', 'type': 'string'}, 'ptts_stop': {'argparse': {'flags': ('--ptts-stop',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': '', 'description': 'address at which to stop a PTTS sampling region', 'type': 'string'}, 'reuse_inst_files': {'argparse': {'flags': ('--reuse-inst-files',), 'group': 'instrumentation'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'reuse and preserve instrumented files after compilation', 'type': 'boolean'}, 'sample': {'argparse': {'flags': ('--sample',), 'group': 'instrumentation'}, 'compat': {True: (<function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function _unless_darwin_target.<locals>.wrapper>, <function Model.construct_condition.<locals>.condition>)}, 'default': True, 'description': 'use event-based sampling to gather performance data', 'type': 'boolean'}, 'sample_resolution': {'argparse': {'choices': ('file', 'function', 'line'), 'flags': ('--sample-resolution',), 'metavar': 'file/function/line', 'nargs': '?'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': 'line', 'description': 'sample resolution', 'type': 'string'}, 'sampling_period': {'argparse': {'const': 5000, 'flags': ('--sampling-period',), 'metavar': 'us', 'nargs': '?'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': 5000, 'description': 'default sampling period in microseconds', 'type': 'integer'}, 'select_file': {'argparse': {'flags': ('--select-file',), 'metavar': 'path'}, 'compat': {<class 'bool'>: (<function attributes.<locals>._ensure_instrumented>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'description': 'specify selective instrumentation file', 'rebuild_required': True, 'type': 'string'}, 'shmem': {'argparse': {'flags': ('--shmem',)}, 'compat': {True: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': False, 'description': 'use SHMEM library wrapper to measure time spent in SHMEM methods', 'rebuild_required': True, 'type': 'boolean'}, 'source_inst': {'argparse': {'choices': ('automatic', 'manual', 'never'), 'const': 'automatic', 'flags': ('--source-inst',), 'group': 'instrumentation', 'metavar': 'mode', 'nargs': '?'}, 'compat': {<function attributes.<locals>.<lambda>>: (<function Model.construct_condition.<locals>.condition>, <function Model.construct_condition.<locals>.condition>)}, 'default': 'never', 'description': 'use hooks inserted into the application source code to gather performance data', 'rebuild_required': True, 'type': 'string'}, 'system_load': {'argparse': {'flags': ('--system-load',), 'group': 'data'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'measure system load', 'type': 'boolean'}, 'tag': {'argparse': {'flags': ('--tag',), 'metavar': '<tags>', 'nargs': '+'}, 'default': '', 'description': 'Narrow search for tags', 'type': 'string'}, 'throttle': {'argparse': {'flags': ('--throttle',)}, 'default': True, 'description': 'throttle lightweight events to reduce overhead', 'type': 'boolean'}, 'throttle_num_calls': {'argparse': {'const': 100000, 'flags': ('--throttle-num-calls',), 'metavar': 'count', 'nargs': '?'}, 'default': 100000, 'description': 'lightweight event call count threshold', 'type': 'integer'}, 'throttle_per_call': {'argparse': {'const': 10, 'flags': ('--throttle-per-call',), 'metavar': 'us', 'nargs': '?'}, 'default': 10, 'description': 'lightweight event duration threshold in microseconds', 'type': 'integer'}, 'trace': {'argparse': {'choices': ('slog2', 'otf2', 'none'), 'const': 'otf2', 'flags': ('--trace',), 'group': 'output format', 'metavar': '<format>', 'nargs': '?'}, 'compat': {'otf2': <function Model.construct_condition.<locals>.condition>, <function attributes.<locals>.<lambda>>: <function attributes.<locals>._discourage_callpath>}, 'default': 'none', 'description': 'generate application traces', 'rebuild_required': True, 'type': 'string'}, 'track_memory_footprint': {'argparse': {'flags': ('--track-memory-footprint',), 'group': 'memory'}, 'compat': {True: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'track memory footprint', 'type': 'boolean'}, 'unwind_depth': {'argparse': {'const': 10, 'flags': ('--unwind-depth',), 'group': 'data', 'metavar': 'depth', 'nargs': '?'}, 'compat': {<function attributes.<locals>.<lambda>>: <function Model.construct_condition.<locals>.condition>}, 'default': 0, 'description': 'Record callstack to specified depth', 'type': 'integer'}, 'update_nightly': {'argparse': {'flags': ('--update-nightly',)}, 'compat': {<class 'bool'>: <function Model.construct_condition.<locals>.condition>}, 'default': False, 'description': 'Download newest TAU nightly', 'type': 'boolean'}}¶
Model attributes.
- is_selected()[source]¶
Returns True if this target configuration is part of the selected experiment, False otherwise.
- key_attribute = 'name'¶
Name of an attribute that serves as a unique identifier.
- name = 'Measurement'¶
Name of the model.
- references = {(<class 'taucmdr.model.experiment.Experiment'>, 'measurement')}¶
(Controller, str) tuples listing foreign models referencing this model.
- class taucmdr.model.measurement.MeasurementController(model_cls, storage, context=None)[source]¶
Bases:
ControllerMeasurement data controller.
- create(data)[source]¶
Atomically store a new record and update associations.
Invokes the on_create callback after the data is recorded. If this callback raises an exception then the operation is reverted.
- delete(keys, context=True)[source]¶
Delete recorded data and update associations.
- The behavior depends on the type of keys:
Record.ElementIdentifier: delete the record with that element identifier.
dict: delete all records with attributes matching keys.
list or tuple: delete all records matching the elements of keys.
bool(keys) == False: raise ValueError.
Invokes the on_delete callback after the data is deleted. If this callback raises an exception then the operation is reverted.
- Parameters:
keys (dict) – Attributes to match.
keys – Fields or element identifiers to match.
- update(data, keys)[source]¶
Change recorded data and update associations.
- The behavior depends on the type of keys:
Record.ElementIdentifier: update the record with that element identifier.
dict: update all records with attributes matching keys.
list or tuple: apply update to all records matching the elements of keys.
bool(keys) == False: raise ValueError.
Invokes the on_update callback after the data is modified. If this callback raises an exception then the operation is reverted.
- Parameters:
data (dict) – New data for existing records.
keys – Fields or element identifiers to match.
- taucmdr.model.measurement._darwin_io_needs_tau_exec(lhs, lhs_attr, lhs_value, rhs)[source]¶
Compatibility condition: on macOS, I/O is measured only when the application runs under tau_exec.
TAU’s link-time I/O wrapper uses -Wl,-wrap, which Apple’s ld doesn’t have, and TAU Commander runs instrumented applications without tau_exec.
- taucmdr.model.measurement._unless_darwin_target(condition)[source]¶
Wrap a compatibility condition so that it is not checked against macOS targets.
TAU resolves names on macOS through the system, without binutils or libunwind.
- taucmdr.model.measurement.attributes()[source]¶
Construct attributes dictionary for the measurement model.
We build the attributes in a function so that classes like
taucmdr.module.project.Projectare fully initialized and usable in the returned dictionary.- Returns:
Attributes dictionary.
- Return type: