|
13 | 13 | # under the License.
|
14 | 14 |
|
15 | 15 | from __future__ import absolute_import
|
| 16 | + |
| 17 | +import sys |
| 18 | + |
16 | 19 | from abc import ABCMeta, abstractmethod
|
| 20 | +import splunklib |
| 21 | +from splunklib import six |
17 | 22 | from splunklib.six.moves.urllib.parse import urlsplit
|
18 |
| -import sys |
19 | 23 |
|
20 | 24 | from ..client import Service
|
21 | 25 | from .event_writer import EventWriter
|
22 | 26 | from .input_definition import InputDefinition
|
23 | 27 | from .validation_definition import ValidationDefinition
|
24 |
| -from splunklib import six |
| 28 | +from ..wire._internal import Telemetry, TelemetryMetric |
25 | 29 |
|
26 | 30 | try:
|
27 | 31 | import xml.etree.cElementTree as ET
|
@@ -70,6 +74,20 @@ def run_script(self, args, event_writer, input_stream):
|
70 | 74 | # passed on stdin as XML, and the script will write events on
|
71 | 75 | # stdout and log entries on stderr.
|
72 | 76 | self._input_definition = InputDefinition.parse(input_stream)
|
| 77 | + |
| 78 | + # create a telemetry metric |
| 79 | + metric = TelemetryMetric(**{ |
| 80 | + 'metric_type': 'event', |
| 81 | + 'component': 'splunk-sdk-python', |
| 82 | + 'data': { |
| 83 | + 'version': splunklib.__version__ |
| 84 | + } |
| 85 | + }) |
| 86 | + |
| 87 | + # call out to telemetry |
| 88 | + telemetry = Telemetry(self.service) |
| 89 | + telemetry.submit(metric.to_wire()) |
| 90 | + |
73 | 91 | self.stream_events(self._input_definition, event_writer)
|
74 | 92 | event_writer.close()
|
75 | 93 | return 0
|
|
0 commit comments