summaryrefslogtreecommitdiff
path: root/probes
diff options
context:
space:
mode:
Diffstat (limited to 'probes')
-rw-r--r--probes/moz.build18
-rw-r--r--probes/mozilla-trace.d23
-rw-r--r--probes/trace-gen.py15
3 files changed, 56 insertions, 0 deletions
diff --git a/probes/moz.build b/probes/moz.build
new file mode 100644
index 0000000000..9343f673ee
--- /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 0000000000..cf4158c941
--- /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 0000000000..586ad01f8e
--- /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)