mirror of
https://github.com/katanemo/plano.git
synced 2026-05-18 13:45:15 +02:00
add in honeycomb support for weather-forecast demo (#345)
This commit is contained in:
parent
bea0dd4a83
commit
fcd8cfb9fc
4 changed files with 101 additions and 15 deletions
5
demos/shared/honeycomb/Dockerfile
Normal file
5
demos/shared/honeycomb/Dockerfile
Normal 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"]
|
||||||
24
demos/shared/honeycomb/otel-collector-config.yaml
Normal file
24
demos/shared/honeycomb/otel-collector-config.yaml
Normal 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]
|
||||||
46
demos/weather_forecast/docker-compose-honeycomb.yaml
Normal file
46
demos/weather_forecast/docker-compose-honeycomb.yaml
Normal 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"
|
||||||
|
|
@ -11,18 +11,21 @@ load_env() {
|
||||||
# Function to determine the docker-compose file based on the argument
|
# Function to determine the docker-compose file based on the argument
|
||||||
get_compose_file() {
|
get_compose_file() {
|
||||||
case "$1" in
|
case "$1" in
|
||||||
jaeger)
|
jaeger)
|
||||||
echo "docker-compose-jaeger.yaml"
|
echo "docker-compose-jaeger.yaml"
|
||||||
;;
|
;;
|
||||||
logfire)
|
logfire)
|
||||||
echo "docker-compose-logfire.yaml"
|
echo "docker-compose-logfire.yaml"
|
||||||
;;
|
;;
|
||||||
signoz)
|
signoz)
|
||||||
echo "docker-compose-signoz.yaml"
|
echo "docker-compose-signoz.yaml"
|
||||||
;;
|
;;
|
||||||
*)
|
honeycomb)
|
||||||
echo "docker-compose.yaml"
|
echo "docker-compose-honeycomb.yaml"
|
||||||
;;
|
;;
|
||||||
|
*)
|
||||||
|
echo "docker-compose.yaml"
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -44,12 +47,16 @@ 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..."
|
||||||
echo "OPENAI_API_KEY=$OPENAI_API_KEY" > .env
|
echo "OPENAI_API_KEY=$OPENAI_API_KEY" >.env
|
||||||
if [ "$1" == "logfire" ]; then
|
if [ "$1" == "logfire" ]; then
|
||||||
echo "LOGFIRE_API_KEY=$LOGFIRE_API_KEY" >> .env
|
echo "LOGFIRE_API_KEY=$LOGFIRE_API_KEY" >>.env
|
||||||
fi
|
fi
|
||||||
echo ".env file created with required API keys."
|
echo ".env file created with required API keys."
|
||||||
fi
|
fi
|
||||||
|
|
@ -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..."
|
||||||
|
|
@ -67,7 +78,7 @@ start_demo() {
|
||||||
|
|
||||||
# Step 5: Start Network Agent with the chosen Docker Compose file
|
# Step 5: Start Network Agent with the chosen Docker Compose file
|
||||||
echo "Starting Network Agent with $COMPOSE_FILE..."
|
echo "Starting Network Agent with $COMPOSE_FILE..."
|
||||||
docker compose -f "$COMPOSE_FILE" up -d # Run in detached mode
|
docker compose -f "$COMPOSE_FILE" up -d # Run in detached mode
|
||||||
}
|
}
|
||||||
|
|
||||||
# Function to stop the demo
|
# Function to stop the demo
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue