|
13 | 13 | from django.http import HttpResponse, JsonResponse |
14 | 14 | from opentelemetry import trace, metrics |
15 | 15 | from opentelemetry.trace.span import format_trace_id |
16 | | -from opentelemetry.sdk.resources import Resource |
17 | | -from opentelemetry.sdk.metrics import MeterProvider |
18 | | -from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader |
19 | | -from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import OTLPMetricExporter |
20 | | -from opentelemetry.semconv.resource import ResourceAttributes |
21 | 16 |
|
22 | 17 | logger = logging.getLogger(__name__) |
23 | 18 |
|
24 | | -# Custom export pipeline - runs alongside existing CWAgent & ADOT setup |
25 | | -# Set up variables for if statement to avoid app crashes on other platforms |
26 | | -service_name = os.environ.get('SERVICE_NAME') |
27 | | -deployment_environment_name = os.environ.get('DEPLOYMENT_ENVIRONMENT_NAME') |
28 | | -# if vars come back empty pipeline will assign value of 'None' |
29 | | -if service_name and deployment_environment_name: |
30 | | - pipeline_resource = Resource.create({ |
31 | | - "service.name": service_name, |
32 | | - "deployment.environment.name": deployment_environment_name |
33 | | - }) |
34 | | -else: |
35 | | - pipeline_resource = Resource.create({}) |
36 | | - |
37 | | -pipeline_metric_exporter = OTLPMetricExporter( |
38 | | - endpoint="localhost:4317" |
39 | | -) |
40 | | - |
41 | | -pipeline_metric_reader = PeriodicExportingMetricReader( |
42 | | - exporter=pipeline_metric_exporter, |
43 | | - export_interval_millis=1000 |
44 | | -) |
45 | | - |
46 | | -pipeline_meter_provider = MeterProvider( |
47 | | - resource=pipeline_resource, |
48 | | - metric_readers=[pipeline_metric_reader] |
49 | | -) |
50 | | - |
51 | | -pipeline_meter = pipeline_meter_provider.get_meter("myMeter") |
52 | | - |
53 | | - |
54 | | -#python equivalent of Meter meter = GlobalOpenTelemetry.getMeter("myMeter"); for custom metrics |
| 19 | +#python equivalent of Meter meter = GlobalOpenTelemetry.getMeter("myMeter"); for custom metrics. |
55 | 20 | meter = metrics.get_meter("myMeter") |
56 | 21 | agent_based_counter = meter.create_counter("agent_based_counter", unit="1", description="agent export counter") |
57 | 22 | agent_based_histogram = meter.create_histogram("agent_based_histogram", description="agent export histogram") |
58 | 23 | agent_based_gauge = meter.create_up_down_counter("agent_based_gauge", unit="1", description="agent export gauge") |
59 | 24 |
|
60 | | -custom_pipeline_counter = pipeline_meter.create_counter("custom_pipeline_counter", unit="1", description="pipeline export counter") |
61 | | -custom_pipeline_histogram = pipeline_meter.create_histogram("custom_pipeline_histogram", description="pipeline export histogram") |
62 | | -custom_pipeline_gauge = pipeline_meter.create_up_down_counter("custom_pipeline_gauge", unit="1", description="pipeline export gauge") |
63 | | - |
64 | 25 |
|
65 | 26 | should_send_local_root_client_call = False |
66 | 27 | lock = threading.Lock() |
@@ -102,10 +63,6 @@ def aws_sdk_call(request): |
102 | 63 | agent_based_histogram.record(random.randint(100, 1000), {"Operation": "histogram"}) |
103 | 64 | agent_based_gauge.add(random.randint(-10, 10), {"Operation": "gauge"}) |
104 | 65 |
|
105 | | - custom_pipeline_counter.add(1, {"Operation": "pipeline_counter"}) |
106 | | - custom_pipeline_histogram.record(random.randint(100, 1000), {"Operation": "pipeline_histogram"}) |
107 | | - custom_pipeline_gauge.add(random.randint(-10, 10), {"Operation": "pipeline_gauge"}) |
108 | | - |
109 | 66 | bucket_name = "e2e-test-bucket-name" |
110 | 67 |
|
111 | 68 | # Add a unique test ID to bucketname to associate buckets to specific test runs |
|
0 commit comments