Integration with OpenTelemetry

CodeSee's Service Maps integrates with your existing OpenTelemetry infrastructure to generate complete maps of your application.

📘

Service Maps is an Enterprise-only feature

If you are using OpenTelemetry, there are two ways to export your trace data to CodeSee:

Configuring the OTEL Collector

  1. Setup an otlp exporter for CodeSee. Be sure to enter your CodeSee Ingestion Token where listed.
  2. Configure that exporter in a pipeline to export traces
exporters:
  otlp/codesee:
    endpoint: "in-otel.codesee.io:443"
    headers:
      "Authorization": "Bearer <CodeSee Ingestion Token>"
      
...

service:
  pipelines:
    traces:
      exporters: [otlp/codesee, <any other exporters go here>]
...

"exporters": {
  "otlp/codesee": {
    "endpoint": "in-otel.codesee.io:443",
    "headers": {
      "Authorization": "Bearer <CodeSee Ingestion Token>"
    }
  },
    
  ...
}

...

"service": {
  "pipelines": {
    "traces": {
      "exporters": ["otlp/codesee", <any other exporters go here>]
    },
      
    ...
  }
}

...

Configuring your service to send data directly to CodeSee

If your service is sending trace data to an OTEL Collector, you do not need to do any additional configuration. Only follow the above configuration steps in Configuring the OTEL Collector.

You only want to send OTEL data to CodeSee

To configure your service to send trace data to CodeSee directly. Find the language-specific instructions for your service:

If you don't see your language above:

  1. Follow the OTEL Documentation for adding OTEL to your codebase
  2. Then add an otlp exporter to your OTEL setup with the following configuration:
otel.exporter.otlp.endpoint=https://in-otel.codesee.io:443
otel.exporter.otlp.protocol=grpc
otel.exporter.otlp.headers='Authorization=Bearer <CodeSee Ingestion Token>'
otel.metrics.exporter=none

Detailed documentation for Exporters can be found in the OTEL documentation.

Your service is already sending otel trace data to Honeycomb or similar

Unfortunately, OpenTelemetry does not support this use case well. We recommend using the OTEL Collector in this circumstance.

Depending on the programming language your system is written in, you may be able to setup multiple exporters manually in the code. Reach out to the CodeSee team ([email protected]) with questions on this path.

You want to use the http OTEL endpoint instead of GRPC

The HTTP endpoint for OTEL is: POST https://in-http.codesee.io/otel-agent/v1/traces