diff options
Diffstat (limited to 'probes')
-rw-r--r-- | probes/moz.build | 18 | ||||
-rw-r--r-- | probes/mozilla-trace.d | 23 | ||||
-rw-r--r-- | probes/trace-gen.py | 15 |
3 files changed, 56 insertions, 0 deletions
diff --git a/probes/moz.build b/probes/moz.build new file mode 100644 index 000000000..9343f673e --- /dev/null +++ b/probes/moz.build @@ -0,0 +1,18 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +if CONFIG['HAVE_DTRACE']: + EXPORTS += [ + '!mozilla-trace.h', + ] + + GENERATED_FILES += [ + 'mozilla-trace.h', + ] + + trace = GENERATED_FILES['mozilla-trace.h'] + trace.script = 'trace-gen.py' + trace.inputs += ['mozilla-trace.d'] diff --git a/probes/mozilla-trace.d b/probes/mozilla-trace.d new file mode 100644 index 000000000..cf4158c94 --- /dev/null +++ b/probes/mozilla-trace.d @@ -0,0 +1,23 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +/* + * mozilla provider probes: + * Data types defined in the generated file mozilla-trace.h + * + * TBD + */ + +provider mozilla { + /* Probe definitions go here */ +}; + +/* +#pragma D attributes Unstable/Unstable/Common provider mozilla provider +#pragma D attributes Private/Private/Unknown provider mozilla module +#pragma D attributes Private/Private/Unknown provider mozilla function +#pragma D attributes Unstable/Unstable/Common provider mozilla name +#pragma D attributes Unstable/Unstable/Common provider mozilla args +*/ + diff --git a/probes/trace-gen.py b/probes/trace-gen.py new file mode 100644 index 000000000..586ad01f8 --- /dev/null +++ b/probes/trace-gen.py @@ -0,0 +1,15 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import os +import subprocess + +def main(fp, input): + temporary_file = 'mozilla-trace.h.tmp' + subprocess.check_call(['dtrace', '-x', 'nolibs', '-h', '-s', input, '-o', temporary_file]) + + with open(temporary_file, 'r') as temporary_fp: + output = temporary_fp.read() + fp.write(output.replace('if _DTRACE_VERSION', 'ifdef INCLUDE_MOZILLA_DTRACE')) + os.remove(temporary_file) |