.. _envoy_v3_api_file_envoy/config/trace/v3/dynamic_ot.proto:

Dynamically loadable OpenTracing tracer (proto)
===============================================




.. _envoy_v3_api_msg_config.trace.v3.DynamicOtConfig:

config.trace.v3.DynamicOtConfig
-------------------------------

:repo:`[config.trace.v3.DynamicOtConfig proto] <api/envoy/config/trace/v3/dynamic_ot.proto#L25>`

DynamicOtConfig is used to dynamically load a tracer from a shared library
that implements the `OpenTracing dynamic loading API
<https://github.com/opentracing/opentracing-cpp>`_.


.. _extension_envoy.tracers.dynamic_ot:

This extension has the qualified name ``envoy.tracers.dynamic_ot``

.. note::
  

  This extension is intended to be robust against untrusted downstream traffic. It
  assumes that the upstream is trusted.

.. tip::
  This extension extends and can be used with the following extension category:


  - :ref:`envoy.tracers <extension_category_envoy.tracers>`



  This extension must be configured with one of the following type URLs:



  - :ref:`type.googleapis.com/envoy.config.trace.v3.DynamicOtConfig <envoy_v3_api_msg_config.trace.v3.DynamicOtConfig>`



.. code-block:: json
  :force:

  {
    "library": ...,
    "config": {...}
  }

.. _envoy_v3_api_field_config.trace.v3.DynamicOtConfig.library:

library
  (`string <https://developers.google.com/protocol-buffers/docs/proto#scalar>`_, *REQUIRED*) Dynamic library implementing the `OpenTracing API
  <https://github.com/opentracing/opentracing-cpp>`_.
  
  
.. _envoy_v3_api_field_config.trace.v3.DynamicOtConfig.config:

config
  (`Struct <https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct>`_) The configuration to use when creating a tracer from the given dynamic
  library.