aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info')
-rw-r--r--.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/INSTALLER1
-rw-r--r--.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/LICENSE21
-rw-r--r--.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/METADATA297
-rw-r--r--.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/NOTICE.txt204
-rw-r--r--.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/RECORD35
-rw-r--r--.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/WHEEL5
-rw-r--r--.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/entry_points.txt5
-rw-r--r--.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/top_level.txt1
8 files changed, 569 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/INSTALLER b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/INSTALLER
new file mode 100644
index 00000000..a1b589e3
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/INSTALLER
@@ -0,0 +1 @@
+pip
diff --git a/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/LICENSE b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/LICENSE
new file mode 100644
index 00000000..b2f52a2b
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/LICENSE
@@ -0,0 +1,21 @@
+Copyright (c) Microsoft Corporation.
+
+MIT License
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/METADATA b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/METADATA
new file mode 100644
index 00000000..fa0d8773
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/METADATA
@@ -0,0 +1,297 @@
+Metadata-Version: 2.1
+Name: azure-monitor-opentelemetry
+Version: 1.6.5
+Summary: Microsoft Azure Monitor Opentelemetry Distro Client Library for Python
+Home-page: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/monitor/azure-monitor-opentelemetry
+Author: Microsoft Corporation
+Author-email: ascl@microsoft.com
+License: MIT License
+Keywords: azure,azure sdk
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
+Classifier: License :: OSI Approved :: MIT License
+Requires-Python: >=3.8
+Description-Content-Type: text/markdown
+License-File: LICENSE
+License-File: NOTICE.txt
+Requires-Dist: azure-core <2.0.0,>=1.28.0
+Requires-Dist: azure-core-tracing-opentelemetry ~=1.0.0b11
+Requires-Dist: azure-monitor-opentelemetry-exporter ~=1.0.0b31
+Requires-Dist: opentelemetry-instrumentation-django ~=0.49b0
+Requires-Dist: opentelemetry-instrumentation-fastapi ~=0.49b0
+Requires-Dist: opentelemetry-instrumentation-flask ~=0.49b0
+Requires-Dist: opentelemetry-instrumentation-psycopg2 ~=0.49b0
+Requires-Dist: opentelemetry-instrumentation-requests ~=0.49b0
+Requires-Dist: opentelemetry-instrumentation-urllib ~=0.49b0
+Requires-Dist: opentelemetry-instrumentation-urllib3 ~=0.49b0
+Requires-Dist: opentelemetry-resource-detector-azure ~=0.1.4
+Requires-Dist: opentelemetry-sdk ~=1.28
+
+# Azure Monitor Opentelemetry Distro client library for Python
+
+The Azure Monitor Distro of [Opentelemetry Python][ot_sdk_python] is a "one-stop-shop" telemetry solution, requiring only one line of code to instrument your application. The distro captures telemetry via [OpenTelemetry instrumentations][azure_monitor_opentelemetry_exporters] and reports telemetry to Azure Monitor via the [Azure Monitor exporters][azure_monitor_opentelemetry_exporters].
+
+Prior to using this SDK, please read and understand [Data Collection Basics](https://learn.microsoft.com/azure/azure-monitor/app/opentelemetry-overview?tabs=python), especially the section on [telemetry types](https://learn.microsoft.com/azure/azure-monitor/app/opentelemetry-overview?tabs=python#telemetry-types). OpenTelemetry terminology differs from Application Insights terminology so it is important to understand the way the telemetry types map to each other.
+
+This distro automatically installs the following libraries:
+
+* [Azure Monitor OpenTelemetry exporters][azure_monitor_opentelemetry_exporters]
+* A subset of OpenTelemetry [instrumentations][ot_instrumentations] that are officially supported as listed below.
+
+## Officially supported instrumentations
+
+OpenTelemetry instrumentations allow automatic collection of requests sent from underlying instrumented libraries. The following is a list of OpenTelemetry instrumentations that come bundled in with the Azure monitor distro. These instrumentations are enabled by default. See the [Usage](#usage) section below for how to opt-out of these instrumentations.
+
+| Instrumentation | Supported library Name | Supported versions |
+| --------------- | ---------------------- | ------------------ |
+| [Azure Core Tracing OpenTelemetry][azure_core_tracing_opentelemetry_plugin] | `azure_sdk` | |
+| [OpenTelemetry Django Instrumentation][ot_instrumentation_django] | [django][pypi_django] | [link][ot_instrumentation_django_version]
+| [OpenTelemetry FastApi Instrumentation][ot_instrumentation_fastapi] | [fastapi][pypi_fastapi] | [link][ot_instrumentation_fastapi_version]
+| [OpenTelemetry Flask Instrumentation][ot_instrumentation_flask] | [flask][pypi_flask] | [link][ot_instrumentation_flask_version]
+| [OpenTelemetry Psycopg2 Instrumentation][ot_instrumentation_psycopg2] | [psycopg2][pypi_psycopg2] | [link][ot_instrumentation_psycopg2_version]
+| [OpenTelemetry Requests Instrumentation][ot_instrumentation_requests] | [requests][pypi_requests] | [link][ot_instrumentation_requests_version]
+| [OpenTelemetry UrlLib Instrumentation][ot_instrumentation_urllib] | [urllib][pypi_urllib] | All
+| [OpenTelemetry UrlLib3 Instrumentation][ot_instrumentation_urllib3] | [urllib3][pypi_urllib3] | [link][ot_instrumentation_urllib3_version]
+
+If you would like to add support for another OpenTelemetry instrumentation, please submit a feature [request][distro_feature_request]. In the meantime, you can use the OpenTelemetry instrumentation manually via it's own APIs (i.e. `instrument()`) in your code. See [this][samples_manual] for an example.
+
+## Key concepts
+
+This package bundles a series of OpenTelemetry and Azure Monitor components to enable the collection and sending of telemetry to Azure Monitor. For MANUAL instrumentation, use the `configure_azure_monitor` function. AUTOMATIC instrumentation is not yet supported.
+
+The [Azure Monitor OpenTelemetry exporters][azure_monitor_opentelemetry_exporters] are the main components in accomplishing this. You will be able to use the exporters and their APIs directly through this package. Please go the exporter documentation to understand how OpenTelemetry and Azure Monitor components work in enabling telemetry collection and exporting.
+
+Currently, all instrumentations available in OpenTelemetry are in a beta state, meaning they are not stable and may have breaking changes in the future. Efforts are being made in pushing these to a more stable state.
+
+## Getting started
+
+### Prerequisites
+
+To use this package, you must have:
+
+* Azure subscription - [Create a free account][azure_sub]
+* Azure Monitor - [How to use application insights][application_insights_namespace]
+* Opentelemetry SDK - [Opentelemetry SDK for Python][ot_sdk_python]
+* Python 3.8 or later - [Install Python][python]
+
+### Install the package
+
+Install the Azure Monitor Opentelemetry Distro with [pip][pip]:
+
+```Bash
+pip install azure-monitor-opentelemetry
+```
+
+### Usage
+
+You can use `configure_azure_monitor` to set up instrumentation for your app to Azure Monitor. `configure_azure_monitor` supports the following optional arguments. All pass-in parameters take priority over any related environment variables.
+
+| Parameter | Description | Environment Variable |
+|-------------------|----------------------------------------------------|----------------------|
+| `connection_string` | The [connection string][connection_string_doc] for your Application Insights resource. The connection string will be automatically populated from the `APPLICATIONINSIGHTS_CONNECTION_STRING` environment variable if not explicitly passed in. | `APPLICATIONINSIGHTS_CONNECTION_STRING` |
+| `enable_live_metrics` | Enable [live metrics][application_insights_live_metrics] feature. Defaults to `False`. | `N/A` |
+| `logger_name` | The name of the [Python logger][python_logger] under which telemetry is collected. Setting this value is imperative so logs created from the SDK itself are not tracked. | `N/A` |
+| `instrumentation_options` | A nested dictionary that determines which instrumentations to enable or disable. Instrumentations are referred to by their [Library Names](#officially-supported-instrumentations). For example, `{"azure_sdk": {"enabled": False}, "flask": {"enabled": False}, "django": {"enabled": True}}` will disable Azure Core Tracing and the Flask instrumentation but leave Django and the other default instrumentations enabled. The `OTEL_PYTHON_DISABLED_INSTRUMENTATIONS` environment variable explained below can also be used to disable instrumentations. | `N/A` |
+| `resource` | Specifies the OpenTelemetry [Resource][ot_spec_resource] associated with your application. Passed in [Resource Attributes][ot_spec_resource_attributes] take priority over default attributes and those from [Resource Detectors][ot_python_resource_detectors]. | [OTEL_SERVICE_NAME][ot_spec_service_name], [OTEL_RESOURCE_ATTRIBUTES][ot_spec_resource_attributes], [OTEL_EXPERIMENTAL_RESOURCE_DETECTORS][ot_python_resource_detectors] |
+| `span_processors` | A list of [span processors][ot_span_processor] that will perform processing on each of your spans before they are exported. Useful for filtering/modifying telemetry. | `N/A` |
+| `views` | A list of [views][ot_view] that will be used to customize metrics exported by the SDK. | `N/A` |
+
+You can configure further with [OpenTelemetry environment variables][ot_env_vars].
+
+| Environment Variable | Description |
+|-------------|----------------------|
+| [OTEL_SERVICE_NAME][ot_spec_service_name], [OTEL_RESOURCE_ATTRIBUTES][ot_spec_resource_attributes] | Specifies the OpenTelemetry [Resource][ot_spec_resource] associated with your application. |
+| `OTEL_LOGS_EXPORTER` | If set to `None`, disables collection and export of logging telemetry. |
+| `OTEL_METRICS_EXPORTER` | If set to `None`, disables collection and export of metric telemetry. |
+| `OTEL_TRACES_EXPORTER` | If set to `None`, disables collection and export of distributed tracing telemetry. |
+| `OTEL_BLRP_SCHEDULE_DELAY` | Specifies the logging export interval in milliseconds. Defaults to 5000. |
+| `OTEL_BSP_SCHEDULE_DELAY` | Specifies the distributed tracing export interval in milliseconds. Defaults to 5000. |
+| `OTEL_TRACES_SAMPLER_ARG` | Specifies the ratio of distributed tracing telemetry to be [sampled][application_insights_sampling]. Accepted values are in the range [0,1]. Defaults to 1.0, meaning no telemetry is sampled out. |
+| `OTEL_PYTHON_DISABLED_INSTRUMENTATIONS` | Specifies which of the supported instrumentations to disable. Disabled instrumentations will not be instrumented as part of `configure_azure_monitor`. However, they can still be manually instrumented with `instrument()` directly. Accepts a comma-separated list of lowercase [Library Names](#officially-supported-instrumentations). For example, set to `"psycopg2,fastapi"` to disable the Psycopg2 and FastAPI instrumentations. Defaults to an empty list, enabling all supported instrumentations. |
+| `OTEL_EXPERIMENTAL_RESOURCE_DETECTORS` | An experimental OpenTelemetry environment variable used to specify Resource Detectors to be used to generate Resource Attributes. This is an experimental feature and the name of this variable and its behavior can change in a non-backwards compatible way. Defaults to "azure_app_service,azure_vm" to enable the [Azure Resource Detectors][ot_resource_detector_azure] for Azure App Service and Azure VM. To add or remove specific resource detectors, set the environment variable accordingly. See the [OpenTelemetry Python Resource Detector Documentation][ot_python_resource_detectors] for more. |
+
+#### Azure monitor OpenTelemetry Exporter configurations
+
+You can pass Azure monitor OpenTelemetry exporter configuration parameters directly into `configure_azure_monitor`. See additional [configuration related to exporting here][exporter_configuration_docs].
+
+```python
+...
+configure_azure_monitor(
+ connection_string="<your-connection-string>",
+ disable_offline_storage=True,
+)
+...
+```
+
+### Examples
+
+Samples are available [here][samples] to demonstrate how to utilize the above configuration options.
+
+### Monitoring in Azure Functions
+
+#### Trace correlation
+
+Tracked incoming requests coming into your Python application hosted in Azure Functions will not be automatically correlated with telemetry being tracked within it. You can manually achieve trace correlation by extract the `TraceContext` directly as shown below:
+
+```python
+
+import azure.functions as func
+
+from azure.monitor.opentelemetry import configure_azure_monitor
+from opentelemetry import trace
+from opentelemetry.propagate import extract
+
+# Configure Azure monitor collection telemetry pipeline
+configure_azure_monitor()
+
+def main(req: func.HttpRequest, context) -> func.HttpResponse:
+ ...
+ # Store current TraceContext in dictionary format
+ carrier = {
+ "traceparent": context.trace_context.Traceparent,
+ "tracestate": context.trace_context.Tracestate,
+ }
+ tracer = trace.get_tracer(__name__)
+ # Start a span using the current context
+ with tracer.start_as_current_span(
+ "http_trigger_span",
+ context=extract(carrier),
+ ):
+ ...
+
+```
+
+#### Logging issues
+
+The Azure Functions worker itself sends logging telemetry itself without the use of the azure monitor sdk (the call to `configure_azure_monitor()`). This will cause you to possibly experience duplicate telemetry entries when sending logging telemetry. Our recommendation to customers is to use solely the SDK as it will allow much more rich telemetry and features than using the built in one provided by the Azure Functions worker. You can turn off the Azure Functions telemetry logger by clearing the list of handlers of your logger.
+
+```python
+...
+root_logger = logging.getLogger()
+for handler in root_logger.handlers[:]:
+ root_logger.removeHandler(handler)
+...
+```
+
+Be sure to call the above BEFORE any loggers or the call to `configure_azure_monitor()` is setup.
+
+You may also disable logging through [Azure Functions configuration](https://learn.microsoft.com/azure/azure-functions/configure-monitoring?tabs=v2#configure-log-levels).
+
+v2.x+
+```
+...
+{
+ "logging": {
+ ...
+ "logLevel": {
+ "default": "None",
+ ...
+ }
+ }
+}
+...
+```
+
+v1.x
+```
+...
+{
+ "logger": {
+ "categoryFilter": {
+ "defaultLevel": "None",
+ ...
+ }
+ }
+}
+...
+```
+
+## Troubleshooting
+
+The exporter raises exceptions defined in [Azure Core](https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/README.md#azure-core-library-exceptions).
+
+## Next steps
+
+Check out the [documentation][azure_monitor_enable_docs] for more.
+
+## Contributing
+
+This project welcomes contributions and suggestions. Most contributions require you to agree to a
+Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
+the rights to use your contribution. For details, visit https://cla.microsoft.com.
+
+When you submit a pull request, a CLA-bot will automatically determine whether you need to provide
+a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions
+provided by the bot. You will only need to do this once across all repos using our CLA.
+
+This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
+For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
+contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
+
+### Additional documentation
+
+* [Azure Portal][azure_portal]
+* [Official Azure monitor docs][azure_monitor_enable_docs]
+* [OpenTelemetry Python Official Docs][ot_python_docs]
+
+<!-- LINKS -->
+[azure_core_tracing_opentelemetry_plugin]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/core/azure-core-tracing-opentelemetry
+[azure_core_tracing_opentelemetry_plugin_sample]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/monitor/azure-monitor-opentelemetry/samples/tracing/azure_core.py
+[azure_monitor_enable_docs]: https://learn.microsoft.com/azure/azure-monitor/app/opentelemetry-enable?tabs=python
+[azure_monitor_opentelemetry_exporters]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/monitor/azure-monitor-opentelemetry-exporter#microsoft-opentelemetry-exporter-for-azure-monitor
+[azure_portal]: https://portal.azure.com
+[azure_sub]: https://azure.microsoft.com/free/
+[application_insights_live_metrics]: https://learn.microsoft.com/azure/azure-monitor/app/live-stream
+[application_insights_namespace]: https://learn.microsoft.com/azure/azure-monitor/app/app-insights-overview
+[application_insights_sampling]: https://learn.microsoft.com/azure/azure-monitor/app/sampling
+[connection_string_doc]: https://learn.microsoft.com/azure/azure-monitor/app/sdk-connection-string
+[distro_feature_request]: https://github.com/Azure/azure-sdk-for-python/issues/new
+[exporter_configuration_docs]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/monitor/azure-monitor-opentelemetry-exporter#configuration
+[ot_env_vars]: https://opentelemetry.io/docs/reference/specification/sdk-environment-variables/
+[ot_instrumentations]: https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation
+[ot_metric_reader]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#metricreader
+[ot_python_docs]: https://opentelemetry.io/docs/instrumentation/python/
+[ot_sdk_python]: https://github.com/open-telemetry/opentelemetry-python
+[ot_sdk_python_metric_reader]: https://opentelemetry-python.readthedocs.io/en/latest/sdk/metrics.export.html#opentelemetry.sdk.metrics.export.MetricReader
+[ot_span_processor]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#span-processor
+[ot_view]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#view
+[ot_sdk_python_view_examples]: https://github.com/open-telemetry/opentelemetry-python/tree/main/docs/examples/metrics/views
+[ot_instrumentation_django]: https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-django
+[ot_instrumentation_django_version]: https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/package.py#L16
+[ot_instrumentation_fastapi]: https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-fastapi
+[ot_instrumentation_fastapi_version]: https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-fastapi/src/opentelemetry/instrumentation/fastapi/package.py#L16
+[ot_instrumentation_flask]: https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-flask
+[ot_instrumentation_flask_version]: https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/package.py#L16
+[ot_instrumentation_psycopg2]: https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-psycopg2
+[ot_instrumentation_psycopg2_version]: https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-psycopg2/src/opentelemetry/instrumentation/psycopg2/package.py#L16
+[ot_instrumentation_requests]: https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-requests
+[ot_instrumentation_requests_version]: https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/package.py#L16
+[ot_instrumentation_urllib]: https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-urllib
+[ot_instrumentation_urllib3]: https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-urllib3
+[ot_instrumentation_urllib3_version]: https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-urllib3/src/opentelemetry/instrumentation/urllib3/package.py#L16
+[ot_python_resource_detectors]: https://opentelemetry-python.readthedocs.io/en/latest/sdk/environment_variables.html#opentelemetry.sdk.environment_variables.OTEL_EXPERIMENTAL_RESOURCE_DETECTORS
+[ot_resource_detector_azure]: https://pypi.org/project/opentelemetry_resource_detector_azure/
+[ot_spec_resource]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/sdk.md#resource-sdk
+[ot_spec_resource_attributes]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/sdk.md#specifying-resource-information-via-an-environment-variable
+[ot_spec_service_name]: https://github.com/open-telemetry/semantic-conventions/blob/main/docs/resource/README.md#service
+[ot_spec_view]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk.md#view
+[pip]: https://pypi.org/project/pip/
+[pypi_django]: https://pypi.org/project/Django/
+[pypi_fastapi]: https://pypi.org/project/fastapi/
+[pypi_flask]: https://pypi.org/project/Flask/
+[pypi_psycopg2]: https://pypi.org/project/psycopg2/
+[pypi_requests]: https://pypi.org/project/requests/
+[pypi_urllib]: https://docs.python.org/3/library/urllib.html
+[pypi_urllib3]: https://pypi.org/project/urllib3/
+[python]: https://www.python.org/downloads/
+[python_logger]: https://docs.python.org/3/library/logging.html#logger-objects
+[python_logging_level]: https://docs.python.org/3/library/logging.html#levels
+[samples]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/monitor/azure-monitor-opentelemetry/samples
+[samples_manual]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/monitor/azure-monitor-opentelemetry/samples/tracing/manually_instrumented.py
diff --git a/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/NOTICE.txt b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/NOTICE.txt
new file mode 100644
index 00000000..d0c6d977
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/NOTICE.txt
@@ -0,0 +1,204 @@
+NOTICES AND INFORMATION
+Do Not Translate or Localize
+
+This software incorporates material from third parties. Microsoft makes certain
+open source code available at https://3rdpartysource.microsoft.com, or you may
+send a check or money order for US $5.00, including the product name, the open
+source component name, and version number, to:
+
+Source Code Compliance Team
+Microsoft Corporation
+One Microsoft Way
+Redmond, WA 98052
+USA
+
+Notwithstanding any other terms, you may reverse engineer this software to the
+extent required to debug changes to any libraries licensed under the GNU Lesser
+General Public License.
+
+License notice for opentelemetry-instrumentation
+------------------------------------------------------------------------------
+
+Copyright The OpenTelemetry Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for opentelemetry-instrumentation-asgi
+------------------------------------------------------------------------------
+
+Copyright The OpenTelemetry Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for opentelemetry-instrumentation-dbapi
+------------------------------------------------------------------------------
+
+Copyright The OpenTelemetry Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for opentelemetry-instrumentation-django
+------------------------------------------------------------------------------
+
+Copyright The OpenTelemetry Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for opentelemetry-instrumentation-fastapi
+------------------------------------------------------------------------------
+
+Copyright The OpenTelemetry Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for opentelemetry-instrumentation-flask
+------------------------------------------------------------------------------
+
+Copyright The OpenTelemetry Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for opentelemetry-instrumentation-psycopg2
+------------------------------------------------------------------------------
+
+Copyright The OpenTelemetry Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for opentelemetry-instrumentation-requests
+------------------------------------------------------------------------------
+
+Copyright The OpenTelemetry Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for opentelemetry-instrumentation-urllib
+------------------------------------------------------------------------------
+
+Copyright The OpenTelemetry Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for opentelemetry-instrumentation-urllib3
+------------------------------------------------------------------------------
+
+Copyright The OpenTelemetry Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+License notice for opentelemetry-util-http
+------------------------------------------------------------------------------
+
+Copyright The OpenTelemetry Authors
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License. \ No newline at end of file
diff --git a/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/RECORD b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/RECORD
new file mode 100644
index 00000000..d9195747
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/RECORD
@@ -0,0 +1,35 @@
+azure/monitor/opentelemetry/__init__.py,sha256=nk7W8J_8ouM8Pqljz09mre1QPrCaA2PV2klovDglrik,480
+azure/monitor/opentelemetry/__pycache__/__init__.cpython-312.pyc,,
+azure/monitor/opentelemetry/__pycache__/_configure.cpython-312.pyc,,
+azure/monitor/opentelemetry/__pycache__/_constants.cpython-312.pyc,,
+azure/monitor/opentelemetry/__pycache__/_types.cpython-312.pyc,,
+azure/monitor/opentelemetry/__pycache__/_version.cpython-312.pyc,,
+azure/monitor/opentelemetry/_autoinstrumentation/__init__.py,sha256=ayhCYvZrqbqAu5KSaI8Zxywi1SxrDcJcbGf-JN9Ku2M,305
+azure/monitor/opentelemetry/_autoinstrumentation/__pycache__/__init__.cpython-312.pyc,,
+azure/monitor/opentelemetry/_autoinstrumentation/__pycache__/configurator.cpython-312.pyc,,
+azure/monitor/opentelemetry/_autoinstrumentation/__pycache__/distro.cpython-312.pyc,,
+azure/monitor/opentelemetry/_autoinstrumentation/configurator.py,sha256=a0T66Uw1erjfpNYMQuMfG5fzihFQ2Brd4eGmD6-CaHA,2898
+azure/monitor/opentelemetry/_autoinstrumentation/distro.py,sha256=gjvZGsDRvHmVeWZI05LrQ-HtRwgcM7T6FTebLHgapL0,2581
+azure/monitor/opentelemetry/_configure.py,sha256=MvNJom-EflcSjWggB1wPIaGrIazU4dnYTkVfym8PqnQ,12346
+azure/monitor/opentelemetry/_constants.py,sha256=se_U8RHyagfh08soMWevV6YNtErIpoo3CYgPG_1AHPg,2241
+azure/monitor/opentelemetry/_diagnostics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
+azure/monitor/opentelemetry/_diagnostics/__pycache__/__init__.cpython-312.pyc,,
+azure/monitor/opentelemetry/_diagnostics/__pycache__/diagnostic_logging.cpython-312.pyc,,
+azure/monitor/opentelemetry/_diagnostics/__pycache__/status_logger.cpython-312.pyc,,
+azure/monitor/opentelemetry/_diagnostics/diagnostic_logging.py,sha256=rl6IyKqZ8GsNfwPQATDekdDbGTh4d5qqLFjp-B3EFTY,3783
+azure/monitor/opentelemetry/_diagnostics/status_logger.py,sha256=tkXOY9pF__Hu1OMq7fvxfMaovlBXHYuolKzbD21bC6A,2177
+azure/monitor/opentelemetry/_types.py,sha256=rWF10y94dPIsQGWlHXDSW6Rzlt-S5PWOh2avfPxE4og,709
+azure/monitor/opentelemetry/_utils/__init__.py,sha256=JV1Cyejb705q0kviiU3drVjtHZLEHCW4QCU7ixx8kv0,2059
+azure/monitor/opentelemetry/_utils/__pycache__/__init__.cpython-312.pyc,,
+azure/monitor/opentelemetry/_utils/__pycache__/configurations.cpython-312.pyc,,
+azure/monitor/opentelemetry/_utils/configurations.py,sha256=W_VGKXCNNT9snJxpraSwqEK9jdYOPDKYb5YEspcH-xo,6127
+azure/monitor/opentelemetry/_version.py,sha256=2p91HcGD-af63TH0C2aJ6D1r5iEmJfKtq5A6TSfF_-U,325
+azure/monitor/opentelemetry/py.typed,sha256=oSK6kZ9p579vDvz3nO-4dkx4K7KILbj0uzaWtMoteSA,193
+azure_monitor_opentelemetry-1.6.5.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
+azure_monitor_opentelemetry-1.6.5.dist-info/LICENSE,sha256=fHekSorNm0H9wgmGSoAWs9QwtdDgkwmBjVt0RDNt90Q,1074
+azure_monitor_opentelemetry-1.6.5.dist-info/METADATA,sha256=uUCJQbmApsLwYuLbG5eQxFSn031YO_0CDXEJtNao0MY,21378
+azure_monitor_opentelemetry-1.6.5.dist-info/NOTICE.txt,sha256=hQP8mTzZJMuVrAgqKcLj4UYR9G3aSseURy8vFqoyDK0,8273
+azure_monitor_opentelemetry-1.6.5.dist-info/RECORD,,
+azure_monitor_opentelemetry-1.6.5.dist-info/WHEEL,sha256=pL8R0wFFS65tNSRnaOVrsw9EOkOqxLrlUPenUYnJKNo,91
+azure_monitor_opentelemetry-1.6.5.dist-info/entry_points.txt,sha256=EHDNMEbjEZNYiS2CpuFxxfEC7ctRb_Fybp3a1gKdSe8,295
+azure_monitor_opentelemetry-1.6.5.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
diff --git a/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/WHEEL b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/WHEEL
new file mode 100644
index 00000000..3d327587
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/WHEEL
@@ -0,0 +1,5 @@
+Wheel-Version: 1.0
+Generator: setuptools (74.1.3)
+Root-Is-Purelib: true
+Tag: py3-none-any
+
diff --git a/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/entry_points.txt b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/entry_points.txt
new file mode 100644
index 00000000..60a4c24a
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/entry_points.txt
@@ -0,0 +1,5 @@
+[opentelemetry_configurator]
+azure_monitor_opentelemetry_configurator = azure.monitor.opentelemetry._autoinstrumentation.configurator:AzureMonitorConfigurator
+
+[opentelemetry_distro]
+azure_monitor_opentelemetry_distro = azure.monitor.opentelemetry._autoinstrumentation.distro:AzureMonitorDistro
diff --git a/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/top_level.txt b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/top_level.txt
new file mode 100644
index 00000000..9271abf1
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/azure_monitor_opentelemetry-1.6.5.dist-info/top_level.txt
@@ -0,0 +1 @@
+azure