Steeltoe Documentation
  • Why Steeltoe
    Overview Microservices Cloud Web Applications Event Driven
  • Get Started
    Steeltoe Initializr Guides Documentation API Browser Blog
  • Projects
    Steeltoe Application Configuration Steeltoe Circuit Breakers Steeltoe Dynamic Logging Steeltoe Management Steeltoe Messaging Steeltoe Network File Shares Steeltoe Security Steeltoe Service Connectors Steeltoe Service Discovery Steeltoe Stream
  • Support
  • Community
Search Results for

    Table of Contents
    . . .
    X

    Exporting Distributed Traces

    Steeltoe is able to automatically configure several exporters provided by the OpenTelemetry project, including Zipkin, Jaeger and OpenTelemetryProtocol, if a NuGet reference to the desired exporter is included. The Steeltoe.Management.ExporterBase and Steeltoe.Management.ExporterCore packages are no longer required.

    Common Settings

    As of version 3.1.0, the exporter settings class has been merged with tracing settings. This table includes settings that are only relevant to exporting traces:

    Key Description Default
    ExporterEndpoint Defines an endpoint traces should be sent to. not set
    MaxPayloadSizeInBytes Maximum payload size to export, in bytes. 4096
    UseShortTraceIds Whether to truncate the IDs to 8 bytes instead of 16. Used for backwards compatibility. false

    Note: Each setting above must be prefixed with Management:Tracing

    Zipkin Server

    Zipkin is a popular distributed tracing system that has been around for several years. It is composed of client libraries for instrumenting application code and a backend server for collecting and viewing the collected data. For more information on Zipkin, we encourage you to review the documentation. See the Quickstart guide for details on how to set up a server.

    Configure Zipkin Options

    In addition to the common exporter settings, you may configure ExportProcessorType and BatchExportProcessorOptions in code:

    services.PostConfigure<ZipkinExporterOptions>(options =>
    {
        options.ExportProcessorType = ExportProcessorType.Batch;
        options.BatchExportProcessorOptions.ExporterTimeoutMilliseconds = 1000;
    });
    

    Use Zipkin Exporter

    Steeltoe will discover and automatically configure the Zipkin exporter when a standard NuGet reference is used:

    <PackageReference Include="OpenTelemetry.Exporter.Zipkin" Version="1.1.0-rc1" />
    

    Jaeger Server

    Jaeger is another popular distributed tracing system that has been around for several years. For more information on Jaeger, we encourage you to visit the Jaeger site. See the Getting Started guide for details on how to quickly set up a server.

    Configure Jaeger Options

    In addition to the common exporter settings, you may configure ExportProcessorType and BatchExportProcessorOptions in code:

    services.PostConfigure<JaegerExporterOptions>(options =>
    {
        options.ExportProcessorType = ExportProcessorType.Batch;
        options.BatchExportProcessorOptions.ExporterTimeoutMilliseconds = 1000;
    });
    

    Use Jaeger Exporter

    Steeltoe will discover and automatically configure the Jaeger exporter when a standard NuGet reference is used:

    <PackageReference Include="OpenTelemetry.Exporter.Jaeger" Version="1.1.0-rc1" />
    

    Open Telemetry Protocol

    The OTLP (OpenTelemetry Protocol) is a vendor-agnostic way to export traces. Steeltoe will configure this exporter to communicate to an OpenTelemetry Collector through a gRPC protocol.

    Configure Open Telemetry Protocol Options

    In addition to the common exporter settings, you may configure Headers, ExportProcessorType and BatchExportProcessorOptions in code:

    services.PostConfigure<OtlpExporterOptions>(options =>
    {
        options.ExportProcessorType = ExportProcessorType.Batch;
        options.BatchExportProcessorOptions.ExporterTimeoutMilliseconds = 1000;
    });
    

    Use Open Telemetry Protocol Exporter

    Steeltoe will discover and automatically configure the Open Telemetry Protocol exporter when a standard NuGet reference is used:

    <PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.1.0-rc1" />
    
    X
    • Edit this page
    Back to top
    © 2017-2021 VMware, Inc. All Rights Reserved. • Privacy Policy • Your California Privacy Rights • Terms of Use • Trademark Guidelines