open-telemetry / open-telemetry/opentelemetry-cpp-contrib

Regarding setup of OTEL HTTPD instrumentation with Zipkin backend

Open
#78 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
153
Forks
184
Avg merge
2d 9h
Merged PRs (30d)
26

Description

I am trying to setup the HTTPD instrumentation module. These are the steps I followed

  1. Running the Dockerfile
  2. Loading the libstdc++.so.6 module, otel.so module and OpenTelemetry.conf file in the apache.conf

This is my Opentelemetry.conf file

<IfModule mod_otel.cpp>
# OpenTelemetryExporter set exporter type:
# file - means put spans into file
# otlp - means use otlp

# OpenTelemetryExporter   file
# if you don't specify path for exporter by default standard error will be used
# which is just simply apache error log
# OpenTelemetryPath /tmp/output-spans

OpenTelemetryExporter   otlp
OpenTelemetryEndpoint docker.for.mac.localhost:51103

# OpenTelemetryBatch for batch configuration. Takes 3 arguments:
# Max Queue Size
# Delay (in milliseconds, 1000 = 1s)
# Max Export Batch Size

# OpenTelemetryBatch 10 5000 5

# OpenTelemetryPropagators sets which context propagator should be used (defaults to none)
# currently supported values are (only one can be specified at the moment):
# trace-context - headers: tracestate, traceparent
# b3 - single header (b3)
# b3-multiheader - headers: X-B3-TraceId, X-B3-SpanId

OpenTelemetryPropagators b3-multiheader

# OpenTelemetryIgnoreInbound (defaults to true) indicates that we don't trust incoming context.
# This is safe when httpd is an edge server with traffic from Internet. Set it to false only
# if you run httpd in safe environment.

# OpenTelemetryIgnoreInbound off

OpenTelemetrySetResource service.name apache-web-server
OpenTelemetrySetAttribute foo bar

</IfModule>

I am running the dockerfile on Mac. I have a Zipkin instance running on a separate docker image which is mapped to localhost:51103. Whenever I use the "OpenTelemetryExporter file" I can see the output spans.
Could someone help me with the steps I am missing. Thanks!!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Dockerfile, apache.conf, and the provided OpenTelemetry.conf, comparing the working file exporter setup with the OTLP endpoint configuration. Check the container networking and Zipkin container mapping described in the issue. Done means HTTPD spans are delivered to and visible in the Zipkin instance.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
backend, observability-sre
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.