Beispiel #1
0
    def log_kv(self, key_values, timestamp=None):
        """Implements the ``log_kv()`` method from the base class.

        Logs an :class:`opentelemetry.trace.Event` for the wrapped
        OpenTelemetry span.

        Note:
            The OpenTracing API defines the values of *key_values* to be of any
            type. However, the OpenTelemetry API requires that the values be
            one of :obj:`str`, :obj:`bool`, :obj:`float`. Therefore, only these
            types are supported as values.

        Args:
            key_values(:obj:`dict`): A dict with :obj:`str` keys and values of
                type :obj:`str`, :obj:`bool` or :obj:`float`.

        Returns:
            Returns this :class:`SpanShim` instance to allow call chaining.
        """

        if timestamp is not None:
            event_timestamp = util.time_seconds_to_ns(timestamp)
        else:
            event_timestamp = None

        event_name = util.event_name_from_kv(key_values)
        self._otel_span.add_event(event_name, key_values, event_timestamp)
        return self
Beispiel #2
0
    def log_kv(self, key_values, timestamp=None):
        if timestamp is not None:
            event_timestamp = util.time_seconds_to_ns(timestamp)
        else:
            event_timestamp = None

        event_name = util.event_name_from_kv(key_values)
        self._otel_span.add_event(event_name, event_timestamp, key_values)
        return self