Package org.apache.ignite.spi.tracing

## Interface TracingConfigurationManager

-     public interface TracingConfigurationManager

  Allows to configure tracing, read the configuration and restore it to the defaults.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static TracingConfigurationParameters` | `DEFAULT_COMMUNICATION_CONFIGURATION` | Default communication configuration.
    `static TracingConfigurationParameters` | `DEFAULT_DISCOVERY_CONFIGURATION` | Default discovery configuration.
    `static TracingConfigurationParameters` | `DEFAULT_EXCHANGE_CONFIGURATION` | Default exchange configuration.
    `static TracingConfigurationParameters` | `DEFAULT_SQL_CONFIGURATION` | Default SQL tracing configuration.
    `static TracingConfigurationParameters` | `DEFAULT_TX_CONFIGURATION` | Default transaction tracing configuration.
    `static TracingConfigurationParameters` | `NOOP_CONFIGURATION` | Default noop configuration.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default @NotNull TracingConfigurationParameters` | `get​(@NotNull TracingConfigurationCoordinates coordinates)` | Get the most specific tracing parameters for the specified tracing coordinates (scope, label, etc.).
    `@NotNull Map<TracingConfigurationCoordinates,​TracingConfigurationParameters>` | `getAll​(@Nullable Scope scope)` | List all pairs of tracing configuration coordinates and tracing configuration parameters or list all pairs of tracing configuration and parameters for the specific scope.
    `void` | `reset​(@NotNull TracingConfigurationCoordinates coordinates)` | Reset tracing configuration for the specific tracing coordinates (scope, label, etc.) to default values.
    `void` | `resetAll​(@Nullable Scope scope)` | Reset tracing configuration for the specific scope, or all tracing configurations if scope not specified.
    `void` | `set​(@NotNull TracingConfigurationCoordinates coordinates, @NotNull TracingConfigurationParameters parameters)` | Set new tracing configuration for the specific tracing coordinates (scope, label, etc.).

- - ### Field Detail

    - #### DEFAULT_SQL_CONFIGURATION

          static final TracingConfigurationParameters DEFAULT_SQL_CONFIGURATION

      Default SQL tracing configuration.

    - #### DEFAULT_TX_CONFIGURATION

          static final TracingConfigurationParameters DEFAULT_TX_CONFIGURATION

      Default transaction tracing configuration.

    - #### DEFAULT_EXCHANGE_CONFIGURATION

          static final TracingConfigurationParameters DEFAULT_EXCHANGE_CONFIGURATION

      Default exchange configuration.

    - #### DEFAULT_DISCOVERY_CONFIGURATION

          static final TracingConfigurationParameters DEFAULT_DISCOVERY_CONFIGURATION

      Default discovery configuration.

    - #### DEFAULT_COMMUNICATION_CONFIGURATION

          static final TracingConfigurationParameters DEFAULT_COMMUNICATION_CONFIGURATION

      Default communication configuration.

    - #### NOOP_CONFIGURATION

          static final TracingConfigurationParameters NOOP_CONFIGURATION

      Default noop configuration.

  - ### Method Detail

    - #### set

          void set​(@NotNull
                   @NotNull TracingConfigurationCoordinates coordinates,
                   @NotNull
                   @NotNull TracingConfigurationParameters parameters)
            throws IgniteException

      Set new tracing configuration for the specific tracing coordinates (scope, label, etc.). If tracing configuration with specified coordinates already exists it'll be overrided, otherwise new one will be created.
      Parameters:
        `coordinates` - `TracingConfigurationCoordinates` Specific set of locators like `Scope` and label, that defines subset of traces and/or spans that'll use given configuration.
        `parameters` - `TracingConfigurationParameters` e.g. sampling rate, set of included scopes etc.
      Throws:
        `IgniteException` - If failed to set tracing configuration.

    - #### get

          @NotNull
          default @NotNull TracingConfigurationParameters get​(@NotNull
                                                              @NotNull TracingConfigurationCoordinates coordinates)
                                                       throws IgniteException

      Get the most specific tracing parameters for the specified tracing coordinates (scope, label, etc.). The most specific means:
      - If there's tracing configuration that matches all tracing configuration attributes (scope and label) — it'll be returned.
      - If there's no tracing configuration with specified label, or label wasn't specified — scope specific tracing configuration will be returned.
      - If there's no tracing configuration with specified scope — default scope specific configuration will be returned.
      Parameters:
        `coordinates` - `TracingConfigurationCoordinates` Specific set of locators like `Scope` and label that defines a subset of traces and/or spans that'll use given configuration.
      Returns:
        `TracingConfigurationParameters` instance.
      Throws:
        `IgniteException` - If failed to get tracing configuration.

    - #### getAll

          @NotNull
          @NotNull Map<TracingConfigurationCoordinates,​TracingConfigurationParameters> getAll​(@Nullable
                                                                                                    @Nullable Scope scope)
                                                                                             throws IgniteException

      List all pairs of tracing configuration coordinates and tracing configuration parameters or list all pairs of tracing configuration and parameters for the specific scope.
      Parameters:
        `scope` - Nullable scope of tracing configuration to be retrieved. If null - all configuration will be returned.
      Returns:
        The whole set of tracing configuration.
      Throws:
        `IgniteException` - If failed to get tracing configuration.

    - #### reset

          void reset​(@NotNull
                     @NotNull TracingConfigurationCoordinates coordinates)
              throws IgniteException

      Reset tracing configuration for the specific tracing coordinates (scope, label, etc.) to default values. Please pay attention, that there's no default values for label specific coordinates, so such kinds of configurations will be removed.
      Parameters:
        `coordinates` - `TracingConfigurationCoordinates` specific set of locators like `Scope` and label that defines a subset of traces and/or spans that will be reset.
      Throws:
        `IgniteException` - If failed to reset tracing configuration.

    - #### resetAll

          void resetAll​(@Nullable
                        @Nullable Scope scope)
                 throws IgniteException

      Reset tracing configuration for the specific scope, or all tracing configurations if scope not specified.
      Parameters:
        `scope` - `Scope` that defines a set of applicable tracing configurations.
      Throws:
        `IgniteException` - If failed to reset tracing configuration.