File tree Expand file tree Collapse file tree 3 files changed +63
-0
lines changed Expand file tree Collapse file tree 3 files changed +63
-0
lines changed Original file line number Diff line number Diff line change
1
+ FROM python:3.12-slim
2
+
3
+ WORKDIR /app
4
+
5
+ COPY . /app
6
+
7
+ RUN pip install flask elastic-opentelemetry
8
+
9
+ # Install all the instrumentations available for the installed packages
10
+ RUN opentelemetry-bootstrap -a install
11
+
12
+ # default flask run port
13
+ EXPOSE 5000
14
+
15
+ # Set some resource attributes to make our service recognizable
16
+ ENV OTEL_RESOURCE_ATTRIBUTES="service.name=FlaskService,service.version=0.0.1,deployment.environment=development"
17
+
18
+ CMD ["opentelemetry-instrument" , "flask" , "run" ]
Original file line number Diff line number Diff line change
1
+ # Flask autoinstrumented application
2
+
3
+ This is a barebone Flask app used for demonstrating autoinstrumentation with EDOT.
4
+
5
+ You can build the application image it with:
6
+
7
+ ```
8
+ docker build --load -t edot-flask:latest .
9
+ ```
10
+
11
+ You can run the application with:
12
+
13
+ ```
14
+ export OTEL_EXPORTER_OTLP_ENDPOINT=https://my-deployment.apm.us-west1.gcp.cloud.es.io
15
+ export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer P....l"
16
+ docker run -e OTEL_EXPORTER_OTLP_ENDPOINT="$OTEL_EXPORTER_OTLP_ENDPOINT" \
17
+ -e OTEL_EXPORTER_OTLP_HEADERS="$OTEL_EXPORTER_OTLP_HEADERS" \
18
+ -p 5000:5000 -it --rm edot-flask:latest
19
+ ```
20
+
21
+ You can access the application from [ http://127.0.0.1:5000 ] ( http://127.0.0.1:5000 ) .
Original file line number Diff line number Diff line change
1
+ # Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
2
+ # or more contributor license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright
4
+ # ownership. Elasticsearch B.V. licenses this file to you under
5
+ # the Apache License, Version 2.0 (the "License"); you may
6
+ # not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ from flask import Flask , jsonify
18
+
19
+ app = Flask (__name__ )
20
+
21
+
22
+ @app .route ("/" , methods = ["GET" ])
23
+ def home ():
24
+ return jsonify (message = "Hello, world!" )
You can’t perform that action at this time.
0 commit comments