add in honeycomb support for weather-forecast demo (#345)

This commit is contained in:
Aayush 2025-01-21 17:15:27 -08:00 committed by GitHub
parent bea0dd4a83
commit fcd8cfb9fc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 101 additions and 15 deletions

View file

@ -0,0 +1,5 @@
FROM otel/opentelemetry-collector:latest
COPY otel-collector-config.yaml /etc/otel-collector-config.yaml
ENTRYPOINT ["/otelcol", "--config=/etc/otel-collector-config.yaml"]

View file

@ -0,0 +1,24 @@
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
exporters:
otlp:
endpoint: "api.honeycomb.io:443"
headers:
"x-honeycomb-team": "${HONEYCOMB_API_KEY}"
processors:
batch:
timeout: 5s
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp]

View file

@ -0,0 +1,46 @@
services:
weather_forecast_service:
build:
context: ./
environment:
- OLTP_HOST=http://otel-collector:4317
extra_hosts:
- "host.docker.internal:host-gateway"
ports:
- "18083:80"
chatbot_ui:
build:
context: ../shared/chatbot_ui
ports:
- "18080:8080"
environment:
# this is only because we are running the sample app in the same docker container environment as archgw
- CHAT_COMPLETION_ENDPOINT=http://host.docker.internal:10000/v1
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./arch_config.yaml:/app/arch_config.yaml
otel-collector:
build:
context: ../shared/honeycomb/
ports:
- "4317:4317"
- "4318:4318"
volumes:
- ../shared/honeycomb/otel-collector-config.yaml:/etc/otel-collector-config.yaml
env_file:
- .env
environment:
- HONEYCOMB_API_KEY
prometheus:
build:
context: ../shared/prometheus
grafana:
build:
context: ../shared/grafana
ports:
- "3000:3000"

View file

@ -20,6 +20,9 @@ get_compose_file() {
signoz) signoz)
echo "docker-compose-signoz.yaml" echo "docker-compose-signoz.yaml"
;; ;;
honeycomb)
echo "docker-compose-honeycomb.yaml"
;;
*) *)
echo "docker-compose.yaml" echo "docker-compose.yaml"
;; ;;
@ -44,6 +47,10 @@ start_demo() {
echo "Error: LOGFIRE_API_KEY environment variable is required for Logfire." echo "Error: LOGFIRE_API_KEY environment variable is required for Logfire."
exit 1 exit 1
fi fi
if [ "$1" == "honeycomb" ] && [ -z "$HONEYCOMB_API_KEY" ]; then
echo "Error: HONEYCOMB_API_KEY environment variable is required for Honeycomb."
exit 1
fi
# Create .env file # Create .env file
echo "Creating .env file..." echo "Creating .env file..."
@ -60,6 +67,10 @@ start_demo() {
echo "Error: LOGFIRE_API_KEY environment variable is required for Logfire." echo "Error: LOGFIRE_API_KEY environment variable is required for Logfire."
exit 1 exit 1
fi fi
if [ "$1" == "honeycomb" ] && [ -z "$HONEYCOMB_API_KEY" ]; then
echo "Error: HONEYCOMB_API_KEY environment variable is required for Honeycomb."
exit 1
fi
# Step 4: Start Arch # Step 4: Start Arch
echo "Starting Arch with arch_config.yaml..." echo "Starting Arch with arch_config.yaml..."