diff options
author | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
---|---|---|
committer | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
commit | 4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch) | |
tree | ee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated | |
parent | cc961e04ba734dd72309fb548a2f97d67d578813 (diff) | |
download | gn-ai-master.tar.gz |
Diffstat (limited to '.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated')
18 files changed, 3295 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/__init__.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/__init__.py new file mode 100644 index 00000000..6d010691 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/__init__.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._azure_monitor_client import AzureMonitorClient + +__all__ = ["AzureMonitorClient"] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk + +patch_sdk() diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_azure_monitor_client.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_azure_monitor_client.py new file mode 100644 index 00000000..6ea083bb --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_azure_monitor_client.py @@ -0,0 +1,92 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import TYPE_CHECKING + +from msrest import Deserializer, Serializer + +from azure.core import PipelineClient + +from . import models +from ._configuration import AzureMonitorClientConfiguration +from .operations import AzureMonitorClientOperationsMixin + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + + from azure.core.rest import HttpRequest, HttpResponse + + +class AzureMonitorClient(AzureMonitorClientOperationsMixin): + """OpenTelemetry Exporter for Azure Monitor. + + :param host: Breeze endpoint: https://dc.services.visualstudio.com. Default value is + "https://dc.services.visualstudio.com". + :type host: str + """ + + def __init__( + self, + host="https://dc.services.visualstudio.com", # type: str + **kwargs # type: Any + ): + # type: (...) -> None + _base_url = "{Host}/v2.1" + self._config = AzureMonitorClientConfiguration(host=host, **kwargs) + self._client = PipelineClient(base_url=_base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + + def _send_request( + self, + request, # type: HttpRequest + **kwargs # type: Any + ): + # type: (...) -> HttpResponse + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + <HttpRequest [GET], url: 'https://www.example.org/'> + >>> response = client._send_request(request) + <HttpResponse: 200 OK> + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.HttpResponse + """ + + request_copy = deepcopy(request) + path_format_arguments = { + "Host": self._serialize.url("self._config.host", self._config.host, "str", skip_quote=True), + } + + request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments) + return self._client.send_request(request_copy, **kwargs) + + def close(self): + # type: () -> None + self._client.close() + + def __enter__(self): + # type: () -> AzureMonitorClient + self._client.__enter__() + return self + + def __exit__(self, *exc_details): + # type: (Any) -> None + self._client.__exit__(*exc_details) diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_configuration.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_configuration.py new file mode 100644 index 00000000..8fa05dbe --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_configuration.py @@ -0,0 +1,58 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import TYPE_CHECKING + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any + +VERSION = "unknown" + + +class AzureMonitorClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes + """Configuration for AzureMonitorClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param host: Breeze endpoint: https://dc.services.visualstudio.com. Default value is + "https://dc.services.visualstudio.com". + :type host: str + """ + + def __init__( + self, + host="https://dc.services.visualstudio.com", # type: str + **kwargs # type: Any + ): + # type: (...) -> None + super(AzureMonitorClientConfiguration, self).__init__(**kwargs) + if host is None: + raise ValueError("Parameter 'host' must not be None.") + + self.host = host + kwargs.setdefault("sdk_moniker", "azuremonitorclient/{}".format(VERSION)) + self._configure(**kwargs) + + def _configure( + self, **kwargs # type: Any + ): + # type: (...) -> None + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.RetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.RedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_patch.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_patch.py new file mode 100644 index 00000000..17dbc073 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_patch.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# 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. +# +# -------------------------------------------------------------------------- + + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_vendor.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_vendor.py new file mode 100644 index 00000000..0dafe0e2 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/_vendor.py @@ -0,0 +1,16 @@ +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.pipeline.transport import HttpRequest + + +def _convert_request(request, files=None): + data = request.content if not files else None + request = HttpRequest(method=request.method, url=request.url, headers=request.headers, data=data) + if files: + request.set_formdata_body(files) + return request diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/__init__.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/__init__.py new file mode 100644 index 00000000..6d010691 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/__init__.py @@ -0,0 +1,17 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._azure_monitor_client import AzureMonitorClient + +__all__ = ["AzureMonitorClient"] + +# `._patch.py` is used for handwritten extensions to the generated code +# Example: https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +from ._patch import patch_sdk + +patch_sdk() diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/_azure_monitor_client.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/_azure_monitor_client.py new file mode 100644 index 00000000..e829f0d4 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/_azure_monitor_client.py @@ -0,0 +1,74 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from copy import deepcopy +from typing import Any, Awaitable + +from msrest import Deserializer, Serializer + +from azure.core import AsyncPipelineClient +from azure.core.rest import AsyncHttpResponse, HttpRequest + +from .. import models +from ._configuration import AzureMonitorClientConfiguration +from .operations import AzureMonitorClientOperationsMixin + + +class AzureMonitorClient(AzureMonitorClientOperationsMixin): + """OpenTelemetry Exporter for Azure Monitor. + + :param host: Breeze endpoint: https://dc.services.visualstudio.com. Default value is + "https://dc.services.visualstudio.com". + :type host: str + """ + + def __init__(self, host: str = "https://dc.services.visualstudio.com", **kwargs: Any) -> None: + _base_url = "{Host}/v2.1" + self._config = AzureMonitorClientConfiguration(host=host, **kwargs) + self._client = AsyncPipelineClient(base_url=_base_url, config=self._config, **kwargs) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + self._serialize.client_side_validation = False + + def _send_request(self, request: HttpRequest, **kwargs: Any) -> Awaitable[AsyncHttpResponse]: + """Runs the network request through the client's chained policies. + + >>> from azure.core.rest import HttpRequest + >>> request = HttpRequest("GET", "https://www.example.org/") + <HttpRequest [GET], url: 'https://www.example.org/'> + >>> response = await client._send_request(request) + <AsyncHttpResponse: 200 OK> + + For more information on this code flow, see https://aka.ms/azsdk/python/protocol/quickstart + + :param request: The network request you want to make. Required. + :type request: ~azure.core.rest.HttpRequest + :keyword bool stream: Whether the response payload will be streamed. Defaults to False. + :return: The response of your network call. Does not do error handling on your response. + :rtype: ~azure.core.rest.AsyncHttpResponse + """ + + request_copy = deepcopy(request) + path_format_arguments = { + "Host": self._serialize.url("self._config.host", self._config.host, "str", skip_quote=True), + } + + request_copy.url = self._client.format_url(request_copy.url, **path_format_arguments) + return self._client.send_request(request_copy, **kwargs) + + async def close(self) -> None: + await self._client.close() + + async def __aenter__(self) -> "AzureMonitorClient": + await self._client.__aenter__() + return self + + async def __aexit__(self, *exc_details) -> None: + await self._client.__aexit__(*exc_details) diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/_configuration.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/_configuration.py new file mode 100644 index 00000000..1bc76b30 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/_configuration.py @@ -0,0 +1,46 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from typing import Any + +from azure.core.configuration import Configuration +from azure.core.pipeline import policies + +VERSION = "unknown" + + +class AzureMonitorClientConfiguration(Configuration): # pylint: disable=too-many-instance-attributes + """Configuration for AzureMonitorClient. + + Note that all parameters used to create this instance are saved as instance + attributes. + + :param host: Breeze endpoint: https://dc.services.visualstudio.com. Default value is + "https://dc.services.visualstudio.com". + :type host: str + """ + + def __init__(self, host: str = "https://dc.services.visualstudio.com", **kwargs: Any) -> None: + super(AzureMonitorClientConfiguration, self).__init__(**kwargs) + if host is None: + raise ValueError("Parameter 'host' must not be None.") + + self.host = host + kwargs.setdefault("sdk_moniker", "azuremonitorclient/{}".format(VERSION)) + self._configure(**kwargs) + + def _configure(self, **kwargs: Any) -> None: + self.user_agent_policy = kwargs.get("user_agent_policy") or policies.UserAgentPolicy(**kwargs) + self.headers_policy = kwargs.get("headers_policy") or policies.HeadersPolicy(**kwargs) + self.proxy_policy = kwargs.get("proxy_policy") or policies.ProxyPolicy(**kwargs) + self.logging_policy = kwargs.get("logging_policy") or policies.NetworkTraceLoggingPolicy(**kwargs) + self.http_logging_policy = kwargs.get("http_logging_policy") or policies.HttpLoggingPolicy(**kwargs) + self.retry_policy = kwargs.get("retry_policy") or policies.AsyncRetryPolicy(**kwargs) + self.custom_hook_policy = kwargs.get("custom_hook_policy") or policies.CustomHookPolicy(**kwargs) + self.redirect_policy = kwargs.get("redirect_policy") or policies.AsyncRedirectPolicy(**kwargs) + self.authentication_policy = kwargs.get("authentication_policy") diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/_patch.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/_patch.py new file mode 100644 index 00000000..17dbc073 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/_patch.py @@ -0,0 +1,32 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# +# Copyright (c) Microsoft Corporation. All rights reserved. +# +# The MIT License (MIT) +# +# 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. +# +# -------------------------------------------------------------------------- + + +# This file is used for handwritten extensions to the generated code. Example: +# https://github.com/Azure/azure-sdk-for-python/blob/main/doc/dev/customize_code/how-to-patch-sdk-code.md +def patch_sdk(): + pass diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/operations/__init__.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/operations/__init__.py new file mode 100644 index 00000000..a1b6ce78 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/operations/__init__.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._azure_monitor_client_operations import AzureMonitorClientOperationsMixin + +__all__ = [ + "AzureMonitorClientOperationsMixin", +] diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/operations/_azure_monitor_client_operations.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/operations/_azure_monitor_client_operations.py new file mode 100644 index 00000000..72c70dab --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/aio/operations/_azure_monitor_client_operations.py @@ -0,0 +1,102 @@ +# pylint: disable=too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import Any, Callable, Dict, List, Optional, TypeVar + +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import AsyncHttpResponse +from azure.core.rest import HttpRequest + +from ... import models as _models +from ..._vendor import _convert_request +from ...operations._azure_monitor_client_operations import build_track_request + +T = TypeVar("T") +ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]] + + +class AzureMonitorClientOperationsMixin: + + async def track(self, body: List["_models.TelemetryItem"], **kwargs: Any) -> "_models.TrackResponse": + """Track telemetry events. + + This operation sends a sequence of telemetry events that will be monitored by Azure Monitor. + + :param body: The list of telemetry events to track. + :type body: list[~azure_monitor_client.models.TelemetryItem] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TrackResponse, or the result of cls(response) + :rtype: ~azure_monitor_client.models.TrackResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop("cls", None) # type: ClsType["_models.TrackResponse"] + error_map = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 400: lambda response: HttpResponseError( + response=response, model=self._deserialize(_models.TrackResponse, response) + ), + 402: lambda response: HttpResponseError( + response=response, model=self._deserialize(_models.TrackResponse, response) + ), + 429: lambda response: HttpResponseError( + response=response, model=self._deserialize(_models.TrackResponse, response) + ), + 500: lambda response: HttpResponseError( + response=response, model=self._deserialize(_models.TrackResponse, response) + ), + 503: lambda response: HttpResponseError( + response=response, model=self._deserialize(_models.TrackResponse, response) + ), + } + error_map.update(kwargs.pop("error_map", {})) + + content_type = kwargs.pop("content_type", "application/json") # type: Optional[str] + + _json = self._serialize.body(body, "[TelemetryItem]") + + request = build_track_request( + content_type=content_type, + json=_json, + template_url=self.track.metadata["url"], + ) + request = _convert_request(request) + path_format_arguments = { + "Host": self._serialize.url("self._config.host", self._config.host, "str", skip_quote=True), + } + request.url = self._client.format_url(request.url, **path_format_arguments) + + pipeline_response = await self._client._pipeline.run( # pylint: disable=protected-access + request, stream=False, **kwargs + ) + response = pipeline_response.http_response + + if response.status_code not in [200, 206]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response) + + if response.status_code == 200: + deserialized = self._deserialize("TrackResponse", pipeline_response) + + if response.status_code == 206: + deserialized = self._deserialize("TrackResponse", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + track.metadata = {"url": "/track"} # type: ignore diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/__init__.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/__init__.py new file mode 100644 index 00000000..2f29230e --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/__init__.py @@ -0,0 +1,73 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +try: + from ._models_py3 import AvailabilityData + from ._models_py3 import MessageData + from ._models_py3 import MetricDataPoint + from ._models_py3 import MetricsData + from ._models_py3 import MonitorBase + from ._models_py3 import MonitorDomain + from ._models_py3 import PageViewData + from ._models_py3 import PageViewPerfData + from ._models_py3 import RemoteDependencyData + from ._models_py3 import RequestData + from ._models_py3 import StackFrame + from ._models_py3 import TelemetryErrorDetails + from ._models_py3 import TelemetryEventData + from ._models_py3 import TelemetryExceptionData + from ._models_py3 import TelemetryExceptionDetails + from ._models_py3 import TelemetryItem + from ._models_py3 import TrackResponse +except (SyntaxError, ImportError): + from ._models import AvailabilityData # type: ignore + from ._models import MessageData # type: ignore + from ._models import MetricDataPoint # type: ignore + from ._models import MetricsData # type: ignore + from ._models import MonitorBase # type: ignore + from ._models import MonitorDomain # type: ignore + from ._models import PageViewData # type: ignore + from ._models import PageViewPerfData # type: ignore + from ._models import RemoteDependencyData # type: ignore + from ._models import RequestData # type: ignore + from ._models import StackFrame # type: ignore + from ._models import TelemetryErrorDetails # type: ignore + from ._models import TelemetryEventData # type: ignore + from ._models import TelemetryExceptionData # type: ignore + from ._models import TelemetryExceptionDetails # type: ignore + from ._models import TelemetryItem # type: ignore + from ._models import TrackResponse # type: ignore + +from ._azure_monitor_client_enums import ( + ContextTagKeys, + DataPointType, + SeverityLevel, +) + +__all__ = [ + "AvailabilityData", + "MessageData", + "MetricDataPoint", + "MetricsData", + "MonitorBase", + "MonitorDomain", + "PageViewData", + "PageViewPerfData", + "RemoteDependencyData", + "RequestData", + "StackFrame", + "TelemetryErrorDetails", + "TelemetryEventData", + "TelemetryExceptionData", + "TelemetryExceptionDetails", + "TelemetryItem", + "TrackResponse", + "ContextTagKeys", + "DataPointType", + "SeverityLevel", +] diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/_azure_monitor_client_enums.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/_azure_monitor_client_enums.py new file mode 100644 index 00000000..cb26c587 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/_azure_monitor_client_enums.py @@ -0,0 +1,60 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from enum import Enum +from azure.core import CaseInsensitiveEnumMeta + + +class ContextTagKeys(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """The context tag keys.""" + + AI_APPLICATION_VER = "ai.application.ver" + AI_DEVICE_ID = "ai.device.id" + AI_DEVICE_LOCALE = "ai.device.locale" + AI_DEVICE_MODEL = "ai.device.model" + AI_DEVICE_OEM_NAME = "ai.device.oemName" + AI_DEVICE_OS_VERSION = "ai.device.osVersion" + AI_DEVICE_TYPE = "ai.device.type" + AI_LOCATION_IP = "ai.location.ip" + AI_LOCATION_COUNTRY = "ai.location.country" + AI_LOCATION_PROVINCE = "ai.location.province" + AI_LOCATION_CITY = "ai.location.city" + AI_OPERATION_ID = "ai.operation.id" + AI_OPERATION_NAME = "ai.operation.name" + AI_OPERATION_PARENT_ID = "ai.operation.parentId" + AI_OPERATION_SYNTHETIC_SOURCE = "ai.operation.syntheticSource" + AI_OPERATION_CORRELATION_VECTOR = "ai.operation.correlationVector" + AI_SESSION_ID = "ai.session.id" + AI_SESSION_IS_FIRST = "ai.session.isFirst" + AI_USER_ACCOUNT_ID = "ai.user.accountId" + AI_USER_ID = "ai.user.id" + AI_USER_AUTH_USER_ID = "ai.user.authUserId" + AI_CLOUD_ROLE = "ai.cloud.role" + AI_CLOUD_ROLE_VER = "ai.cloud.roleVer" + AI_CLOUD_ROLE_INSTANCE = "ai.cloud.roleInstance" + AI_CLOUD_LOCATION = "ai.cloud.location" + AI_INTERNAL_SDK_VERSION = "ai.internal.sdkVersion" + AI_INTERNAL_AGENT_VERSION = "ai.internal.agentVersion" + AI_INTERNAL_NODE_NAME = "ai.internal.nodeName" + + +class DataPointType(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Type of the metric data measurement.""" + + MEASUREMENT = "Measurement" + AGGREGATION = "Aggregation" + + +class SeverityLevel(str, Enum, metaclass=CaseInsensitiveEnumMeta): + """Defines the level of severity for the event.""" + + VERBOSE = "Verbose" + INFORMATION = "Information" + WARNING = "Warning" + ERROR = "Error" + CRITICAL = "Critical" diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/_models.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/_models.py new file mode 100644 index 00000000..ceaf6119 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/_models.py @@ -0,0 +1,1167 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + + +class MonitorDomain(msrest.serialization.Model): + """The abstract common base of all domains. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + """ + + _validation = { + "version": {"required": True}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + } + + def __init__(self, **kwargs): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + """ + super(MonitorDomain, self).__init__(**kwargs) + self.additional_properties = kwargs.get("additional_properties", None) + self.version = kwargs.get("version", 2) + + +class AvailabilityData(MonitorDomain): + """Instances of AvailabilityData represent the result of executing an availability test. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar id: Required. Identifier of a test run. Use it to correlate steps of test run and + telemetry generated by the service. + :vartype id: str + :ivar name: Required. Name of the test that these availability results represent. + :vartype name: str + :ivar duration: Required. Duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days. + :vartype duration: str + :ivar success: Required. Success flag. + :vartype success: bool + :ivar run_location: Name of the location where the test was run from. + :vartype run_location: str + :ivar message: Diagnostic message for the result. + :vartype message: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "id": {"required": True, "max_length": 512, "min_length": 0}, + "name": {"required": True, "max_length": 1024, "min_length": 0}, + "duration": {"required": True}, + "success": {"required": True}, + "run_location": {"max_length": 1024, "min_length": 0}, + "message": {"max_length": 8192, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "duration": {"key": "duration", "type": "str"}, + "success": {"key": "success", "type": "bool"}, + "run_location": {"key": "runLocation", "type": "str"}, + "message": {"key": "message", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__(self, **kwargs): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword id: Required. Identifier of a test run. Use it to correlate steps of test run and + telemetry generated by the service. + :paramtype id: str + :keyword name: Required. Name of the test that these availability results represent. + :paramtype name: str + :keyword duration: Required. Duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 + days. + :paramtype duration: str + :keyword success: Required. Success flag. + :paramtype success: bool + :keyword run_location: Name of the location where the test was run from. + :paramtype run_location: str + :keyword message: Diagnostic message for the result. + :paramtype message: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(AvailabilityData, self).__init__(**kwargs) + self.id = kwargs["id"] + self.name = kwargs["name"] + self.duration = kwargs["duration"] + self.success = kwargs["success"] + self.run_location = kwargs.get("run_location", None) + self.message = kwargs.get("message", None) + self.properties = kwargs.get("properties", None) + self.measurements = kwargs.get("measurements", None) + + +class MessageData(MonitorDomain): + """Instances of Message represent printf-like trace statements that are text-searched. Log4Net, NLog and other text-based log file entries are translated into instances of this type. The message does not have measurements. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar message: Required. Trace message. + :vartype message: str + :ivar severity_level: Trace severity level. Possible values include: "Verbose", "Information", + "Warning", "Error", "Critical". + :vartype severity_level: str or ~azure_monitor_client.models.SeverityLevel + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "message": {"required": True, "max_length": 32768, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "message": {"key": "message", "type": "str"}, + "severity_level": {"key": "severityLevel", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__(self, **kwargs): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword message: Required. Trace message. + :paramtype message: str + :keyword severity_level: Trace severity level. Possible values include: "Verbose", + "Information", "Warning", "Error", "Critical". + :paramtype severity_level: str or ~azure_monitor_client.models.SeverityLevel + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(MessageData, self).__init__(**kwargs) + self.message = kwargs["message"] + self.severity_level = kwargs.get("severity_level", None) + self.properties = kwargs.get("properties", None) + self.measurements = kwargs.get("measurements", None) + + +class MetricDataPoint(msrest.serialization.Model): + """Metric data single measurement. + + All required parameters must be populated in order to send to Azure. + + :ivar namespace: Namespace of the metric. + :vartype namespace: str + :ivar name: Required. Name of the metric. + :vartype name: str + :ivar data_point_type: Metric type. Single measurement or the aggregated value. Possible values + include: "Measurement", "Aggregation". + :vartype data_point_type: str or ~azure_monitor_client.models.DataPointType + :ivar value: Required. Single value for measurement. Sum of individual measurements for the + aggregation. + :vartype value: float + :ivar count: Metric weight of the aggregated metric. Should not be set for a measurement. + :vartype count: int + :ivar min: Minimum value of the aggregated metric. Should not be set for a measurement. + :vartype min: float + :ivar max: Maximum value of the aggregated metric. Should not be set for a measurement. + :vartype max: float + :ivar std_dev: Standard deviation of the aggregated metric. Should not be set for a + measurement. + :vartype std_dev: float + """ + + _validation = { + "namespace": {"max_length": 256, "min_length": 0}, + "name": {"required": True, "max_length": 1024, "min_length": 0}, + "value": {"required": True}, + } + + _attribute_map = { + "namespace": {"key": "ns", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "data_point_type": {"key": "kind", "type": "str"}, + "value": {"key": "value", "type": "float"}, + "count": {"key": "count", "type": "int"}, + "min": {"key": "min", "type": "float"}, + "max": {"key": "max", "type": "float"}, + "std_dev": {"key": "stdDev", "type": "float"}, + } + + def __init__(self, **kwargs): + """ + :keyword namespace: Namespace of the metric. + :paramtype namespace: str + :keyword name: Required. Name of the metric. + :paramtype name: str + :keyword data_point_type: Metric type. Single measurement or the aggregated value. Possible + values include: "Measurement", "Aggregation". + :paramtype data_point_type: str or ~azure_monitor_client.models.DataPointType + :keyword value: Required. Single value for measurement. Sum of individual measurements for the + aggregation. + :paramtype value: float + :keyword count: Metric weight of the aggregated metric. Should not be set for a measurement. + :paramtype count: int + :keyword min: Minimum value of the aggregated metric. Should not be set for a measurement. + :paramtype min: float + :keyword max: Maximum value of the aggregated metric. Should not be set for a measurement. + :paramtype max: float + :keyword std_dev: Standard deviation of the aggregated metric. Should not be set for a + measurement. + :paramtype std_dev: float + """ + super(MetricDataPoint, self).__init__(**kwargs) + self.namespace = kwargs.get("namespace", None) + self.name = kwargs["name"] + self.data_point_type = kwargs.get("data_point_type", None) + self.value = kwargs["value"] + self.count = kwargs.get("count", None) + self.min = kwargs.get("min", None) + self.max = kwargs.get("max", None) + self.std_dev = kwargs.get("std_dev", None) + + +class MetricsData(MonitorDomain): + """An instance of the Metric item is a list of measurements (single data points) and/or aggregations. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar metrics: Required. List of metrics. Only one metric in the list is currently supported by + Application Insights storage. If multiple data points were sent only the first one will be + used. + :vartype metrics: list[~azure_monitor_client.models.MetricDataPoint] + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + """ + + _validation = { + "version": {"required": True}, + "metrics": {"required": True}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "metrics": {"key": "metrics", "type": "[MetricDataPoint]"}, + "properties": {"key": "properties", "type": "{str}"}, + } + + def __init__(self, **kwargs): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword metrics: Required. List of metrics. Only one metric in the list is currently supported + by Application Insights storage. If multiple data points were sent only the first one will be + used. + :paramtype metrics: list[~azure_monitor_client.models.MetricDataPoint] + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + """ + super(MetricsData, self).__init__(**kwargs) + self.metrics = kwargs["metrics"] + self.properties = kwargs.get("properties", None) + + +class MonitorBase(msrest.serialization.Model): + """Data struct to contain only C section with custom fields. + + :ivar base_type: Name of item (B section) if any. If telemetry data is derived straight from + this, this should be null. + :vartype base_type: str + :ivar base_data: The data payload for the telemetry request. + :vartype base_data: ~azure_monitor_client.models.MonitorDomain + """ + + _attribute_map = { + "base_type": {"key": "baseType", "type": "str"}, + "base_data": {"key": "baseData", "type": "MonitorDomain"}, + } + + def __init__(self, **kwargs): + """ + :keyword base_type: Name of item (B section) if any. If telemetry data is derived straight from + this, this should be null. + :paramtype base_type: str + :keyword base_data: The data payload for the telemetry request. + :paramtype base_data: ~azure_monitor_client.models.MonitorDomain + """ + super(MonitorBase, self).__init__(**kwargs) + self.base_type = kwargs.get("base_type", None) + self.base_data = kwargs.get("base_data", None) + + +class PageViewData(MonitorDomain): + """An instance of PageView represents a generic action on a page like a button click. It is also the base type for PageView. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar id: Required. Identifier of a page view instance. Used for correlation between page view + and other telemetry items. + :vartype id: str + :ivar name: Required. Event name. Keep it low cardinality to allow proper grouping and useful + metrics. + :vartype name: str + :ivar url: Request URL with all query string parameters. + :vartype url: str + :ivar duration: Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), + this is the duration. For a page view with performance information (PageViewPerfData), this is + the page load time. Must be less than 1000 days. + :vartype duration: str + :ivar referred_uri: Fully qualified page URI or URL of the referring page; if unknown, leave + blank. + :vartype referred_uri: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "id": {"required": True, "max_length": 512, "min_length": 0}, + "name": {"required": True, "max_length": 1024, "min_length": 0}, + "url": {"max_length": 2048, "min_length": 0}, + "referred_uri": {"max_length": 2048, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "url": {"key": "url", "type": "str"}, + "duration": {"key": "duration", "type": "str"}, + "referred_uri": {"key": "referredUri", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__(self, **kwargs): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword id: Required. Identifier of a page view instance. Used for correlation between page + view and other telemetry items. + :paramtype id: str + :keyword name: Required. Event name. Keep it low cardinality to allow proper grouping and + useful metrics. + :paramtype name: str + :keyword url: Request URL with all query string parameters. + :paramtype url: str + :keyword duration: Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view + (PageViewData), this is the duration. For a page view with performance information + (PageViewPerfData), this is the page load time. Must be less than 1000 days. + :paramtype duration: str + :keyword referred_uri: Fully qualified page URI or URL of the referring page; if unknown, leave + blank. + :paramtype referred_uri: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(PageViewData, self).__init__(**kwargs) + self.id = kwargs["id"] + self.name = kwargs["name"] + self.url = kwargs.get("url", None) + self.duration = kwargs.get("duration", None) + self.referred_uri = kwargs.get("referred_uri", None) + self.properties = kwargs.get("properties", None) + self.measurements = kwargs.get("measurements", None) + + +class PageViewPerfData(MonitorDomain): + """An instance of PageViewPerf represents: a page view with no performance data, a page view with performance data, or just the performance data of an earlier page request. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar id: Required. Identifier of a page view instance. Used for correlation between page view + and other telemetry items. + :vartype id: str + :ivar name: Required. Event name. Keep it low cardinality to allow proper grouping and useful + metrics. + :vartype name: str + :ivar url: Request URL with all query string parameters. + :vartype url: str + :ivar duration: Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), + this is the duration. For a page view with performance information (PageViewPerfData), this is + the page load time. Must be less than 1000 days. + :vartype duration: str + :ivar perf_total: Performance total in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff. + :vartype perf_total: str + :ivar network_connect: Network connection time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :vartype network_connect: str + :ivar sent_request: Sent request time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :vartype sent_request: str + :ivar received_response: Received response time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :vartype received_response: str + :ivar dom_processing: DOM processing time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :vartype dom_processing: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "id": {"required": True, "max_length": 512, "min_length": 0}, + "name": {"required": True, "max_length": 1024, "min_length": 0}, + "url": {"max_length": 2048, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "url": {"key": "url", "type": "str"}, + "duration": {"key": "duration", "type": "str"}, + "perf_total": {"key": "perfTotal", "type": "str"}, + "network_connect": {"key": "networkConnect", "type": "str"}, + "sent_request": {"key": "sentRequest", "type": "str"}, + "received_response": {"key": "receivedResponse", "type": "str"}, + "dom_processing": {"key": "domProcessing", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__(self, **kwargs): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword id: Required. Identifier of a page view instance. Used for correlation between page + view and other telemetry items. + :paramtype id: str + :keyword name: Required. Event name. Keep it low cardinality to allow proper grouping and + useful metrics. + :paramtype name: str + :keyword url: Request URL with all query string parameters. + :paramtype url: str + :keyword duration: Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view + (PageViewData), this is the duration. For a page view with performance information + (PageViewPerfData), this is the page load time. Must be less than 1000 days. + :paramtype duration: str + :keyword perf_total: Performance total in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :paramtype perf_total: str + :keyword network_connect: Network connection time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :paramtype network_connect: str + :keyword sent_request: Sent request time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :paramtype sent_request: str + :keyword received_response: Received response time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :paramtype received_response: str + :keyword dom_processing: DOM processing time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :paramtype dom_processing: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(PageViewPerfData, self).__init__(**kwargs) + self.id = kwargs["id"] + self.name = kwargs["name"] + self.url = kwargs.get("url", None) + self.duration = kwargs.get("duration", None) + self.perf_total = kwargs.get("perf_total", None) + self.network_connect = kwargs.get("network_connect", None) + self.sent_request = kwargs.get("sent_request", None) + self.received_response = kwargs.get("received_response", None) + self.dom_processing = kwargs.get("dom_processing", None) + self.properties = kwargs.get("properties", None) + self.measurements = kwargs.get("measurements", None) + + +class RemoteDependencyData(MonitorDomain): + """An instance of Remote Dependency represents an interaction of the monitored component with a remote component/service like SQL or an HTTP endpoint. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar id: Identifier of a dependency call instance. Used for correlation with the request + telemetry item corresponding to this dependency call. + :vartype id: str + :ivar name: Required. Name of the command initiated with this dependency call. Low cardinality + value. Examples are stored procedure name and URL path template. + :vartype name: str + :ivar result_code: Result code of a dependency call. Examples are SQL error code and HTTP + status code. + :vartype result_code: str + :ivar data: Command initiated by this dependency call. Examples are SQL statement and HTTP URL + with all query parameters. + :vartype data: str + :ivar type: Dependency type name. Very low cardinality value for logical grouping of + dependencies and interpretation of other fields like commandName and resultCode. Examples are + SQL, Azure table, and HTTP. + :vartype type: str + :ivar target: Target site of a dependency call. Examples are server name, host address. + :vartype target: str + :ivar duration: Required. Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than + 1000 days. + :vartype duration: str + :ivar success: Indication of successful or unsuccessful call. + :vartype success: bool + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "id": {"max_length": 512, "min_length": 0}, + "name": {"required": True, "max_length": 1024, "min_length": 0}, + "result_code": {"max_length": 1024, "min_length": 0}, + "data": {"max_length": 8192, "min_length": 0}, + "type": {"max_length": 1024, "min_length": 0}, + "target": {"max_length": 1024, "min_length": 0}, + "duration": {"required": True}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "result_code": {"key": "resultCode", "type": "str"}, + "data": {"key": "data", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "target": {"key": "target", "type": "str"}, + "duration": {"key": "duration", "type": "str"}, + "success": {"key": "success", "type": "bool"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__(self, **kwargs): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword id: Identifier of a dependency call instance. Used for correlation with the request + telemetry item corresponding to this dependency call. + :paramtype id: str + :keyword name: Required. Name of the command initiated with this dependency call. Low + cardinality value. Examples are stored procedure name and URL path template. + :paramtype name: str + :keyword result_code: Result code of a dependency call. Examples are SQL error code and HTTP + status code. + :paramtype result_code: str + :keyword data: Command initiated by this dependency call. Examples are SQL statement and HTTP + URL with all query parameters. + :paramtype data: str + :keyword type: Dependency type name. Very low cardinality value for logical grouping of + dependencies and interpretation of other fields like commandName and resultCode. Examples are + SQL, Azure table, and HTTP. + :paramtype type: str + :keyword target: Target site of a dependency call. Examples are server name, host address. + :paramtype target: str + :keyword duration: Required. Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than + 1000 days. + :paramtype duration: str + :keyword success: Indication of successful or unsuccessful call. + :paramtype success: bool + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(RemoteDependencyData, self).__init__(**kwargs) + self.id = kwargs.get("id", None) + self.name = kwargs["name"] + self.result_code = kwargs.get("result_code", None) + self.data = kwargs.get("data", None) + self.type = kwargs.get("type", None) + self.target = kwargs.get("target", None) + self.duration = kwargs["duration"] + self.success = kwargs.get("success", True) + self.properties = kwargs.get("properties", None) + self.measurements = kwargs.get("measurements", None) + + +class RequestData(MonitorDomain): + """An instance of Request represents completion of an external request to the application to do work and contains a summary of that request execution and the results. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar id: Required. Identifier of a request call instance. Used for correlation between request + and other telemetry items. + :vartype id: str + :ivar name: Name of the request. Represents code path taken to process request. Low cardinality + value to allow better grouping of requests. For HTTP requests it represents the HTTP method and + URL path template like 'GET /values/{id}'. + :vartype name: str + :ivar duration: Required. Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than + 1000 days. + :vartype duration: str + :ivar success: Required. Indication of successful or unsuccessful call. + :vartype success: bool + :ivar response_code: Required. Result of a request execution. HTTP status code for HTTP + requests. + :vartype response_code: str + :ivar source: Source of the request. Examples are the instrumentation key of the caller or the + ip address of the caller. + :vartype source: str + :ivar url: Request URL with all query string parameters. + :vartype url: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "id": {"required": True, "max_length": 512, "min_length": 0}, + "name": {"max_length": 1024, "min_length": 0}, + "duration": {"required": True}, + "success": {"required": True}, + "response_code": {"required": True, "max_length": 1024, "min_length": 0}, + "source": {"max_length": 1024, "min_length": 0}, + "url": {"max_length": 2048, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "duration": {"key": "duration", "type": "str"}, + "success": {"key": "success", "type": "bool"}, + "response_code": {"key": "responseCode", "type": "str"}, + "source": {"key": "source", "type": "str"}, + "url": {"key": "url", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__(self, **kwargs): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword id: Required. Identifier of a request call instance. Used for correlation between + request and other telemetry items. + :paramtype id: str + :keyword name: Name of the request. Represents code path taken to process request. Low + cardinality value to allow better grouping of requests. For HTTP requests it represents the + HTTP method and URL path template like 'GET /values/{id}'. + :paramtype name: str + :keyword duration: Required. Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than + 1000 days. + :paramtype duration: str + :keyword success: Required. Indication of successful or unsuccessful call. + :paramtype success: bool + :keyword response_code: Required. Result of a request execution. HTTP status code for HTTP + requests. + :paramtype response_code: str + :keyword source: Source of the request. Examples are the instrumentation key of the caller or + the ip address of the caller. + :paramtype source: str + :keyword url: Request URL with all query string parameters. + :paramtype url: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(RequestData, self).__init__(**kwargs) + self.id = kwargs["id"] + self.name = kwargs.get("name", None) + self.duration = kwargs["duration"] + self.success = kwargs.get("success", True) + self.response_code = kwargs["response_code"] + self.source = kwargs.get("source", None) + self.url = kwargs.get("url", None) + self.properties = kwargs.get("properties", None) + self.measurements = kwargs.get("measurements", None) + + +class StackFrame(msrest.serialization.Model): + """Stack frame information. + + All required parameters must be populated in order to send to Azure. + + :ivar level: Required. + :vartype level: int + :ivar method: Required. Method name. + :vartype method: str + :ivar assembly: Name of the assembly (dll, jar, etc.) containing this function. + :vartype assembly: str + :ivar file_name: File name or URL of the method implementation. + :vartype file_name: str + :ivar line: Line number of the code implementation. + :vartype line: int + """ + + _validation = { + "level": {"required": True}, + "method": {"required": True, "max_length": 1024, "min_length": 0}, + "assembly": {"max_length": 1024, "min_length": 0}, + "file_name": {"max_length": 1024, "min_length": 0}, + } + + _attribute_map = { + "level": {"key": "level", "type": "int"}, + "method": {"key": "method", "type": "str"}, + "assembly": {"key": "assembly", "type": "str"}, + "file_name": {"key": "fileName", "type": "str"}, + "line": {"key": "line", "type": "int"}, + } + + def __init__(self, **kwargs): + """ + :keyword level: Required. + :paramtype level: int + :keyword method: Required. Method name. + :paramtype method: str + :keyword assembly: Name of the assembly (dll, jar, etc.) containing this function. + :paramtype assembly: str + :keyword file_name: File name or URL of the method implementation. + :paramtype file_name: str + :keyword line: Line number of the code implementation. + :paramtype line: int + """ + super(StackFrame, self).__init__(**kwargs) + self.level = kwargs["level"] + self.method = kwargs["method"] + self.assembly = kwargs.get("assembly", None) + self.file_name = kwargs.get("file_name", None) + self.line = kwargs.get("line", None) + + +class TelemetryErrorDetails(msrest.serialization.Model): + """The error details. + + :ivar index: The index in the original payload of the item. + :vartype index: int + :ivar status_code: The item specific `HTTP Response status code <#Response Status Codes>`_. + :vartype status_code: int + :ivar message: The error message. + :vartype message: str + """ + + _attribute_map = { + "index": {"key": "index", "type": "int"}, + "status_code": {"key": "statusCode", "type": "int"}, + "message": {"key": "message", "type": "str"}, + } + + def __init__(self, **kwargs): + """ + :keyword index: The index in the original payload of the item. + :paramtype index: int + :keyword status_code: The item specific `HTTP Response status code <#Response Status Codes>`_. + :paramtype status_code: int + :keyword message: The error message. + :paramtype message: str + """ + super(TelemetryErrorDetails, self).__init__(**kwargs) + self.index = kwargs.get("index", None) + self.status_code = kwargs.get("status_code", None) + self.message = kwargs.get("message", None) + + +class TelemetryEventData(MonitorDomain): + """Instances of Event represent structured event records that can be grouped and searched by their properties. Event data item also creates a metric of event count by name. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar name: Required. Event name. Keep it low cardinality to allow proper grouping and useful + metrics. + :vartype name: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "name": {"required": True, "max_length": 512, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "name": {"key": "name", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__(self, **kwargs): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword name: Required. Event name. Keep it low cardinality to allow proper grouping and + useful metrics. + :paramtype name: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(TelemetryEventData, self).__init__(**kwargs) + self.name = kwargs["name"] + self.properties = kwargs.get("properties", None) + self.measurements = kwargs.get("measurements", None) + + +class TelemetryExceptionData(MonitorDomain): + """An instance of Exception represents a handled or unhandled exception that occurred during execution of the monitored application. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar exceptions: Required. Exception chain - list of inner exceptions. + :vartype exceptions: list[~azure_monitor_client.models.TelemetryExceptionDetails] + :ivar severity_level: Severity level. Mostly used to indicate exception severity level when it + is reported by logging library. Possible values include: "Verbose", "Information", "Warning", + "Error", "Critical". + :vartype severity_level: str or ~azure_monitor_client.models.SeverityLevel + :ivar problem_id: Identifier of where the exception was thrown in code. Used for exceptions + grouping. Typically a combination of exception type and a function from the call stack. + :vartype problem_id: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "exceptions": {"required": True}, + "problem_id": {"max_length": 1024, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "exceptions": {"key": "exceptions", "type": "[TelemetryExceptionDetails]"}, + "severity_level": {"key": "severityLevel", "type": "str"}, + "problem_id": {"key": "problemId", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__(self, **kwargs): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword exceptions: Required. Exception chain - list of inner exceptions. + :paramtype exceptions: list[~azure_monitor_client.models.TelemetryExceptionDetails] + :keyword severity_level: Severity level. Mostly used to indicate exception severity level when + it is reported by logging library. Possible values include: "Verbose", "Information", + "Warning", "Error", "Critical". + :paramtype severity_level: str or ~azure_monitor_client.models.SeverityLevel + :keyword problem_id: Identifier of where the exception was thrown in code. Used for exceptions + grouping. Typically a combination of exception type and a function from the call stack. + :paramtype problem_id: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(TelemetryExceptionData, self).__init__(**kwargs) + self.exceptions = kwargs["exceptions"] + self.severity_level = kwargs.get("severity_level", None) + self.problem_id = kwargs.get("problem_id", None) + self.properties = kwargs.get("properties", None) + self.measurements = kwargs.get("measurements", None) + + +class TelemetryExceptionDetails(msrest.serialization.Model): + """Exception details of the exception in a chain. + + All required parameters must be populated in order to send to Azure. + + :ivar id: In case exception is nested (outer exception contains inner one), the id and outerId + properties are used to represent the nesting. + :vartype id: int + :ivar outer_id: The value of outerId is a reference to an element in ExceptionDetails that + represents the outer exception. + :vartype outer_id: int + :ivar type_name: Exception type name. + :vartype type_name: str + :ivar message: Required. Exception message. + :vartype message: str + :ivar has_full_stack: Indicates if full exception stack is provided in the exception. The stack + may be trimmed, such as in the case of a StackOverflow exception. + :vartype has_full_stack: bool + :ivar stack: Text describing the stack. Either stack or parsedStack should have a value. + :vartype stack: str + :ivar parsed_stack: List of stack frames. Either stack or parsedStack should have a value. + :vartype parsed_stack: list[~azure_monitor_client.models.StackFrame] + """ + + _validation = { + "type_name": {"max_length": 1024, "min_length": 0}, + "message": {"required": True, "max_length": 32768, "min_length": 0}, + "stack": {"max_length": 32768, "min_length": 0}, + } + + _attribute_map = { + "id": {"key": "id", "type": "int"}, + "outer_id": {"key": "outerId", "type": "int"}, + "type_name": {"key": "typeName", "type": "str"}, + "message": {"key": "message", "type": "str"}, + "has_full_stack": {"key": "hasFullStack", "type": "bool"}, + "stack": {"key": "stack", "type": "str"}, + "parsed_stack": {"key": "parsedStack", "type": "[StackFrame]"}, + } + + def __init__(self, **kwargs): + """ + :keyword id: In case exception is nested (outer exception contains inner one), the id and + outerId properties are used to represent the nesting. + :paramtype id: int + :keyword outer_id: The value of outerId is a reference to an element in ExceptionDetails that + represents the outer exception. + :paramtype outer_id: int + :keyword type_name: Exception type name. + :paramtype type_name: str + :keyword message: Required. Exception message. + :paramtype message: str + :keyword has_full_stack: Indicates if full exception stack is provided in the exception. The + stack may be trimmed, such as in the case of a StackOverflow exception. + :paramtype has_full_stack: bool + :keyword stack: Text describing the stack. Either stack or parsedStack should have a value. + :paramtype stack: str + :keyword parsed_stack: List of stack frames. Either stack or parsedStack should have a value. + :paramtype parsed_stack: list[~azure_monitor_client.models.StackFrame] + """ + super(TelemetryExceptionDetails, self).__init__(**kwargs) + self.id = kwargs.get("id", None) + self.outer_id = kwargs.get("outer_id", None) + self.type_name = kwargs.get("type_name", None) + self.message = kwargs["message"] + self.has_full_stack = kwargs.get("has_full_stack", True) + self.stack = kwargs.get("stack", None) + self.parsed_stack = kwargs.get("parsed_stack", None) + + +class TelemetryItem(msrest.serialization.Model): + """System variables for a telemetry item. + + All required parameters must be populated in order to send to Azure. + + :ivar version: Envelope version. For internal use only. By assigning this the default, it will + not be serialized within the payload unless changed to a value other than #1. + :vartype version: int + :ivar name: Required. Type name of telemetry data item. + :vartype name: str + :ivar time: Required. Event date time when telemetry item was created. This is the wall clock + time on the client when the event was generated. There is no guarantee that the client's time + is accurate. This field must be formatted in UTC ISO 8601 format, with a trailing 'Z' + character, as described publicly on https://en.wikipedia.org/wiki/ISO_8601#UTC. Note: the + number of decimal seconds digits provided are variable (and unspecified). Consumers should + handle this, i.e. managed code consumers should not use format 'O' for parsing as it specifies + a fixed length. Example: 2009-06-15T13:45:30.0000000Z. + :vartype time: ~datetime.datetime + :ivar sample_rate: Sampling rate used in application. This telemetry item represents 100 / + sampleRate actual telemetry items. + :vartype sample_rate: float + :ivar sequence: Sequence field used to track absolute order of uploaded events. + :vartype sequence: str + :ivar instrumentation_key: The instrumentation key of the Application Insights resource. + :vartype instrumentation_key: str + :ivar tags: A set of tags. Key/value collection of context properties. See ContextTagKeys for + information on available properties. + :vartype tags: dict[str, str] + :ivar data: Telemetry data item. + :vartype data: ~azure_monitor_client.models.MonitorBase + """ + + _validation = { + "name": {"required": True}, + "time": {"required": True}, + "sequence": {"max_length": 64, "min_length": 0}, + } + + _attribute_map = { + "version": {"key": "ver", "type": "int"}, + "name": {"key": "name", "type": "str"}, + "time": {"key": "time", "type": "iso-8601"}, + "sample_rate": {"key": "sampleRate", "type": "float"}, + "sequence": {"key": "seq", "type": "str"}, + "instrumentation_key": {"key": "iKey", "type": "str"}, + "tags": {"key": "tags", "type": "{str}"}, + "data": {"key": "data", "type": "MonitorBase"}, + } + + def __init__(self, **kwargs): + """ + :keyword version: Envelope version. For internal use only. By assigning this the default, it + will not be serialized within the payload unless changed to a value other than #1. + :paramtype version: int + :keyword name: Required. Type name of telemetry data item. + :paramtype name: str + :keyword time: Required. Event date time when telemetry item was created. This is the wall + clock time on the client when the event was generated. There is no guarantee that the client's + time is accurate. This field must be formatted in UTC ISO 8601 format, with a trailing 'Z' + character, as described publicly on https://en.wikipedia.org/wiki/ISO_8601#UTC. Note: the + number of decimal seconds digits provided are variable (and unspecified). Consumers should + handle this, i.e. managed code consumers should not use format 'O' for parsing as it specifies + a fixed length. Example: 2009-06-15T13:45:30.0000000Z. + :paramtype time: ~datetime.datetime + :keyword sample_rate: Sampling rate used in application. This telemetry item represents 100 / + sampleRate actual telemetry items. + :paramtype sample_rate: float + :keyword sequence: Sequence field used to track absolute order of uploaded events. + :paramtype sequence: str + :keyword instrumentation_key: The instrumentation key of the Application Insights resource. + :paramtype instrumentation_key: str + :keyword tags: A set of tags. Key/value collection of context properties. See ContextTagKeys + for information on available properties. + :paramtype tags: dict[str, str] + :keyword data: Telemetry data item. + :paramtype data: ~azure_monitor_client.models.MonitorBase + """ + super(TelemetryItem, self).__init__(**kwargs) + self.version = kwargs.get("version", 1) + self.name = kwargs["name"] + self.time = kwargs["time"] + self.sample_rate = kwargs.get("sample_rate", 100) + self.sequence = kwargs.get("sequence", None) + self.instrumentation_key = kwargs.get("instrumentation_key", None) + self.tags = kwargs.get("tags", None) + self.data = kwargs.get("data", None) + + +class TrackResponse(msrest.serialization.Model): + """Response containing the status of each telemetry item. + + :ivar items_received: The number of items received. + :vartype items_received: int + :ivar items_accepted: The number of items accepted. + :vartype items_accepted: int + :ivar errors: An array of error detail objects. + :vartype errors: list[~azure_monitor_client.models.TelemetryErrorDetails] + """ + + _attribute_map = { + "items_received": {"key": "itemsReceived", "type": "int"}, + "items_accepted": {"key": "itemsAccepted", "type": "int"}, + "errors": {"key": "errors", "type": "[TelemetryErrorDetails]"}, + } + + def __init__(self, **kwargs): + """ + :keyword items_received: The number of items received. + :paramtype items_received: int + :keyword items_accepted: The number of items accepted. + :paramtype items_accepted: int + :keyword errors: An array of error detail objects. + :paramtype errors: list[~azure_monitor_client.models.TelemetryErrorDetails] + """ + super(TrackResponse, self).__init__(**kwargs) + self.items_received = kwargs.get("items_received", None) + self.items_accepted = kwargs.get("items_accepted", None) + self.errors = kwargs.get("errors", None) diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/_models_py3.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/_models_py3.py new file mode 100644 index 00000000..9741154c --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/models/_models_py3.py @@ -0,0 +1,1342 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +import datetime +from typing import Any, Dict, List, Optional, Union + +from azure.core.exceptions import HttpResponseError +import msrest.serialization + +from ._azure_monitor_client_enums import * + + +class MonitorDomain(msrest.serialization.Model): + """The abstract common base of all domains. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + """ + + _validation = { + "version": {"required": True}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + } + + def __init__(self, *, version: int = 2, additional_properties: Optional[Dict[str, Any]] = None, **kwargs): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + """ + super(MonitorDomain, self).__init__(**kwargs) + self.additional_properties = additional_properties + self.version = version + + +class AvailabilityData(MonitorDomain): + """Instances of AvailabilityData represent the result of executing an availability test. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar id: Required. Identifier of a test run. Use it to correlate steps of test run and + telemetry generated by the service. + :vartype id: str + :ivar name: Required. Name of the test that these availability results represent. + :vartype name: str + :ivar duration: Required. Duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 days. + :vartype duration: str + :ivar success: Required. Success flag. + :vartype success: bool + :ivar run_location: Name of the location where the test was run from. + :vartype run_location: str + :ivar message: Diagnostic message for the result. + :vartype message: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "id": {"required": True, "max_length": 512, "min_length": 0}, + "name": {"required": True, "max_length": 1024, "min_length": 0}, + "duration": {"required": True}, + "success": {"required": True}, + "run_location": {"max_length": 1024, "min_length": 0}, + "message": {"max_length": 8192, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "duration": {"key": "duration", "type": "str"}, + "success": {"key": "success", "type": "bool"}, + "run_location": {"key": "runLocation", "type": "str"}, + "message": {"key": "message", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__( + self, + *, + version: int = 2, + id: str, + name: str, + duration: str, + success: bool, + additional_properties: Optional[Dict[str, Any]] = None, + run_location: Optional[str] = None, + message: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + measurements: Optional[Dict[str, float]] = None, + **kwargs + ): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword id: Required. Identifier of a test run. Use it to correlate steps of test run and + telemetry generated by the service. + :paramtype id: str + :keyword name: Required. Name of the test that these availability results represent. + :paramtype name: str + :keyword duration: Required. Duration in format: DD.HH:MM:SS.MMMMMM. Must be less than 1000 + days. + :paramtype duration: str + :keyword success: Required. Success flag. + :paramtype success: bool + :keyword run_location: Name of the location where the test was run from. + :paramtype run_location: str + :keyword message: Diagnostic message for the result. + :paramtype message: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(AvailabilityData, self).__init__(additional_properties=additional_properties, version=version, **kwargs) + self.id = id + self.name = name + self.duration = duration + self.success = success + self.run_location = run_location + self.message = message + self.properties = properties + self.measurements = measurements + + +class MessageData(MonitorDomain): + """Instances of Message represent printf-like trace statements that are text-searched. Log4Net, NLog and other text-based log file entries are translated into instances of this type. The message does not have measurements. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar message: Required. Trace message. + :vartype message: str + :ivar severity_level: Trace severity level. Possible values include: "Verbose", "Information", + "Warning", "Error", "Critical". + :vartype severity_level: str or ~azure_monitor_client.models.SeverityLevel + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "message": {"required": True, "max_length": 32768, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "message": {"key": "message", "type": "str"}, + "severity_level": {"key": "severityLevel", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__( + self, + *, + version: int = 2, + message: str, + additional_properties: Optional[Dict[str, Any]] = None, + severity_level: Optional[Union[str, "SeverityLevel"]] = None, + properties: Optional[Dict[str, str]] = None, + measurements: Optional[Dict[str, float]] = None, + **kwargs + ): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword message: Required. Trace message. + :paramtype message: str + :keyword severity_level: Trace severity level. Possible values include: "Verbose", + "Information", "Warning", "Error", "Critical". + :paramtype severity_level: str or ~azure_monitor_client.models.SeverityLevel + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(MessageData, self).__init__(additional_properties=additional_properties, version=version, **kwargs) + self.message = message + self.severity_level = severity_level + self.properties = properties + self.measurements = measurements + + +class MetricDataPoint(msrest.serialization.Model): + """Metric data single measurement. + + All required parameters must be populated in order to send to Azure. + + :ivar namespace: Namespace of the metric. + :vartype namespace: str + :ivar name: Required. Name of the metric. + :vartype name: str + :ivar data_point_type: Metric type. Single measurement or the aggregated value. Possible values + include: "Measurement", "Aggregation". + :vartype data_point_type: str or ~azure_monitor_client.models.DataPointType + :ivar value: Required. Single value for measurement. Sum of individual measurements for the + aggregation. + :vartype value: float + :ivar count: Metric weight of the aggregated metric. Should not be set for a measurement. + :vartype count: int + :ivar min: Minimum value of the aggregated metric. Should not be set for a measurement. + :vartype min: float + :ivar max: Maximum value of the aggregated metric. Should not be set for a measurement. + :vartype max: float + :ivar std_dev: Standard deviation of the aggregated metric. Should not be set for a + measurement. + :vartype std_dev: float + """ + + _validation = { + "namespace": {"max_length": 256, "min_length": 0}, + "name": {"required": True, "max_length": 1024, "min_length": 0}, + "value": {"required": True}, + } + + _attribute_map = { + "namespace": {"key": "ns", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "data_point_type": {"key": "kind", "type": "str"}, + "value": {"key": "value", "type": "float"}, + "count": {"key": "count", "type": "int"}, + "min": {"key": "min", "type": "float"}, + "max": {"key": "max", "type": "float"}, + "std_dev": {"key": "stdDev", "type": "float"}, + } + + def __init__( + self, + *, + name: str, + value: float, + namespace: Optional[str] = None, + data_point_type: Optional[Union[str, "DataPointType"]] = None, + count: Optional[int] = None, + min: Optional[float] = None, + max: Optional[float] = None, + std_dev: Optional[float] = None, + **kwargs + ): + """ + :keyword namespace: Namespace of the metric. + :paramtype namespace: str + :keyword name: Required. Name of the metric. + :paramtype name: str + :keyword data_point_type: Metric type. Single measurement or the aggregated value. Possible + values include: "Measurement", "Aggregation". + :paramtype data_point_type: str or ~azure_monitor_client.models.DataPointType + :keyword value: Required. Single value for measurement. Sum of individual measurements for the + aggregation. + :paramtype value: float + :keyword count: Metric weight of the aggregated metric. Should not be set for a measurement. + :paramtype count: int + :keyword min: Minimum value of the aggregated metric. Should not be set for a measurement. + :paramtype min: float + :keyword max: Maximum value of the aggregated metric. Should not be set for a measurement. + :paramtype max: float + :keyword std_dev: Standard deviation of the aggregated metric. Should not be set for a + measurement. + :paramtype std_dev: float + """ + super(MetricDataPoint, self).__init__(**kwargs) + self.namespace = namespace + self.name = name + self.data_point_type = data_point_type + self.value = value + self.count = count + self.min = min + self.max = max + self.std_dev = std_dev + + +class MetricsData(MonitorDomain): + """An instance of the Metric item is a list of measurements (single data points) and/or aggregations. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar metrics: Required. List of metrics. Only one metric in the list is currently supported by + Application Insights storage. If multiple data points were sent only the first one will be + used. + :vartype metrics: list[~azure_monitor_client.models.MetricDataPoint] + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + """ + + _validation = { + "version": {"required": True}, + "metrics": {"required": True}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "metrics": {"key": "metrics", "type": "[MetricDataPoint]"}, + "properties": {"key": "properties", "type": "{str}"}, + } + + def __init__( + self, + *, + version: int = 2, + metrics: List["MetricDataPoint"], + additional_properties: Optional[Dict[str, Any]] = None, + properties: Optional[Dict[str, str]] = None, + **kwargs + ): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword metrics: Required. List of metrics. Only one metric in the list is currently supported + by Application Insights storage. If multiple data points were sent only the first one will be + used. + :paramtype metrics: list[~azure_monitor_client.models.MetricDataPoint] + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + """ + super(MetricsData, self).__init__(additional_properties=additional_properties, version=version, **kwargs) + self.metrics = metrics + self.properties = properties + + +class MonitorBase(msrest.serialization.Model): + """Data struct to contain only C section with custom fields. + + :ivar base_type: Name of item (B section) if any. If telemetry data is derived straight from + this, this should be null. + :vartype base_type: str + :ivar base_data: The data payload for the telemetry request. + :vartype base_data: ~azure_monitor_client.models.MonitorDomain + """ + + _attribute_map = { + "base_type": {"key": "baseType", "type": "str"}, + "base_data": {"key": "baseData", "type": "MonitorDomain"}, + } + + def __init__(self, *, base_type: Optional[str] = None, base_data: Optional["MonitorDomain"] = None, **kwargs): + """ + :keyword base_type: Name of item (B section) if any. If telemetry data is derived straight from + this, this should be null. + :paramtype base_type: str + :keyword base_data: The data payload for the telemetry request. + :paramtype base_data: ~azure_monitor_client.models.MonitorDomain + """ + super(MonitorBase, self).__init__(**kwargs) + self.base_type = base_type + self.base_data = base_data + + +class PageViewData(MonitorDomain): + """An instance of PageView represents a generic action on a page like a button click. It is also the base type for PageView. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar id: Required. Identifier of a page view instance. Used for correlation between page view + and other telemetry items. + :vartype id: str + :ivar name: Required. Event name. Keep it low cardinality to allow proper grouping and useful + metrics. + :vartype name: str + :ivar url: Request URL with all query string parameters. + :vartype url: str + :ivar duration: Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), + this is the duration. For a page view with performance information (PageViewPerfData), this is + the page load time. Must be less than 1000 days. + :vartype duration: str + :ivar referred_uri: Fully qualified page URI or URL of the referring page; if unknown, leave + blank. + :vartype referred_uri: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "id": {"required": True, "max_length": 512, "min_length": 0}, + "name": {"required": True, "max_length": 1024, "min_length": 0}, + "url": {"max_length": 2048, "min_length": 0}, + "referred_uri": {"max_length": 2048, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "url": {"key": "url", "type": "str"}, + "duration": {"key": "duration", "type": "str"}, + "referred_uri": {"key": "referredUri", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__( + self, + *, + version: int = 2, + id: str, + name: str, + additional_properties: Optional[Dict[str, Any]] = None, + url: Optional[str] = None, + duration: Optional[str] = None, + referred_uri: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + measurements: Optional[Dict[str, float]] = None, + **kwargs + ): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword id: Required. Identifier of a page view instance. Used for correlation between page + view and other telemetry items. + :paramtype id: str + :keyword name: Required. Event name. Keep it low cardinality to allow proper grouping and + useful metrics. + :paramtype name: str + :keyword url: Request URL with all query string parameters. + :paramtype url: str + :keyword duration: Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view + (PageViewData), this is the duration. For a page view with performance information + (PageViewPerfData), this is the page load time. Must be less than 1000 days. + :paramtype duration: str + :keyword referred_uri: Fully qualified page URI or URL of the referring page; if unknown, leave + blank. + :paramtype referred_uri: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(PageViewData, self).__init__(additional_properties=additional_properties, version=version, **kwargs) + self.id = id + self.name = name + self.url = url + self.duration = duration + self.referred_uri = referred_uri + self.properties = properties + self.measurements = measurements + + +class PageViewPerfData(MonitorDomain): + """An instance of PageViewPerf represents: a page view with no performance data, a page view with performance data, or just the performance data of an earlier page request. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar id: Required. Identifier of a page view instance. Used for correlation between page view + and other telemetry items. + :vartype id: str + :ivar name: Required. Event name. Keep it low cardinality to allow proper grouping and useful + metrics. + :vartype name: str + :ivar url: Request URL with all query string parameters. + :vartype url: str + :ivar duration: Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view (PageViewData), + this is the duration. For a page view with performance information (PageViewPerfData), this is + the page load time. Must be less than 1000 days. + :vartype duration: str + :ivar perf_total: Performance total in TimeSpan 'G' (general long) format: d:hh:mm:ss.fffffff. + :vartype perf_total: str + :ivar network_connect: Network connection time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :vartype network_connect: str + :ivar sent_request: Sent request time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :vartype sent_request: str + :ivar received_response: Received response time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :vartype received_response: str + :ivar dom_processing: DOM processing time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :vartype dom_processing: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "id": {"required": True, "max_length": 512, "min_length": 0}, + "name": {"required": True, "max_length": 1024, "min_length": 0}, + "url": {"max_length": 2048, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "url": {"key": "url", "type": "str"}, + "duration": {"key": "duration", "type": "str"}, + "perf_total": {"key": "perfTotal", "type": "str"}, + "network_connect": {"key": "networkConnect", "type": "str"}, + "sent_request": {"key": "sentRequest", "type": "str"}, + "received_response": {"key": "receivedResponse", "type": "str"}, + "dom_processing": {"key": "domProcessing", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__( + self, + *, + version: int = 2, + id: str, + name: str, + additional_properties: Optional[Dict[str, Any]] = None, + url: Optional[str] = None, + duration: Optional[str] = None, + perf_total: Optional[str] = None, + network_connect: Optional[str] = None, + sent_request: Optional[str] = None, + received_response: Optional[str] = None, + dom_processing: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + measurements: Optional[Dict[str, float]] = None, + **kwargs + ): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword id: Required. Identifier of a page view instance. Used for correlation between page + view and other telemetry items. + :paramtype id: str + :keyword name: Required. Event name. Keep it low cardinality to allow proper grouping and + useful metrics. + :paramtype name: str + :keyword url: Request URL with all query string parameters. + :paramtype url: str + :keyword duration: Request duration in format: DD.HH:MM:SS.MMMMMM. For a page view + (PageViewData), this is the duration. For a page view with performance information + (PageViewPerfData), this is the page load time. Must be less than 1000 days. + :paramtype duration: str + :keyword perf_total: Performance total in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :paramtype perf_total: str + :keyword network_connect: Network connection time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :paramtype network_connect: str + :keyword sent_request: Sent request time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :paramtype sent_request: str + :keyword received_response: Received response time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :paramtype received_response: str + :keyword dom_processing: DOM processing time in TimeSpan 'G' (general long) format: + d:hh:mm:ss.fffffff. + :paramtype dom_processing: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(PageViewPerfData, self).__init__(additional_properties=additional_properties, version=version, **kwargs) + self.id = id + self.name = name + self.url = url + self.duration = duration + self.perf_total = perf_total + self.network_connect = network_connect + self.sent_request = sent_request + self.received_response = received_response + self.dom_processing = dom_processing + self.properties = properties + self.measurements = measurements + + +class RemoteDependencyData(MonitorDomain): + """An instance of Remote Dependency represents an interaction of the monitored component with a remote component/service like SQL or an HTTP endpoint. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar id: Identifier of a dependency call instance. Used for correlation with the request + telemetry item corresponding to this dependency call. + :vartype id: str + :ivar name: Required. Name of the command initiated with this dependency call. Low cardinality + value. Examples are stored procedure name and URL path template. + :vartype name: str + :ivar result_code: Result code of a dependency call. Examples are SQL error code and HTTP + status code. + :vartype result_code: str + :ivar data: Command initiated by this dependency call. Examples are SQL statement and HTTP URL + with all query parameters. + :vartype data: str + :ivar type: Dependency type name. Very low cardinality value for logical grouping of + dependencies and interpretation of other fields like commandName and resultCode. Examples are + SQL, Azure table, and HTTP. + :vartype type: str + :ivar target: Target site of a dependency call. Examples are server name, host address. + :vartype target: str + :ivar duration: Required. Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than + 1000 days. + :vartype duration: str + :ivar success: Indication of successful or unsuccessful call. + :vartype success: bool + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "id": {"max_length": 512, "min_length": 0}, + "name": {"required": True, "max_length": 1024, "min_length": 0}, + "result_code": {"max_length": 1024, "min_length": 0}, + "data": {"max_length": 8192, "min_length": 0}, + "type": {"max_length": 1024, "min_length": 0}, + "target": {"max_length": 1024, "min_length": 0}, + "duration": {"required": True}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "result_code": {"key": "resultCode", "type": "str"}, + "data": {"key": "data", "type": "str"}, + "type": {"key": "type", "type": "str"}, + "target": {"key": "target", "type": "str"}, + "duration": {"key": "duration", "type": "str"}, + "success": {"key": "success", "type": "bool"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__( + self, + *, + version: int = 2, + name: str, + duration: str, + additional_properties: Optional[Dict[str, Any]] = None, + id: Optional[str] = None, + result_code: Optional[str] = None, + data: Optional[str] = None, + type: Optional[str] = None, + target: Optional[str] = None, + success: Optional[bool] = True, + properties: Optional[Dict[str, str]] = None, + measurements: Optional[Dict[str, float]] = None, + **kwargs + ): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword id: Identifier of a dependency call instance. Used for correlation with the request + telemetry item corresponding to this dependency call. + :paramtype id: str + :keyword name: Required. Name of the command initiated with this dependency call. Low + cardinality value. Examples are stored procedure name and URL path template. + :paramtype name: str + :keyword result_code: Result code of a dependency call. Examples are SQL error code and HTTP + status code. + :paramtype result_code: str + :keyword data: Command initiated by this dependency call. Examples are SQL statement and HTTP + URL with all query parameters. + :paramtype data: str + :keyword type: Dependency type name. Very low cardinality value for logical grouping of + dependencies and interpretation of other fields like commandName and resultCode. Examples are + SQL, Azure table, and HTTP. + :paramtype type: str + :keyword target: Target site of a dependency call. Examples are server name, host address. + :paramtype target: str + :keyword duration: Required. Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than + 1000 days. + :paramtype duration: str + :keyword success: Indication of successful or unsuccessful call. + :paramtype success: bool + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(RemoteDependencyData, self).__init__( + additional_properties=additional_properties, version=version, **kwargs + ) + self.id = id + self.name = name + self.result_code = result_code + self.data = data + self.type = type + self.target = target + self.duration = duration + self.success = success + self.properties = properties + self.measurements = measurements + + +class RequestData(MonitorDomain): + """An instance of Request represents completion of an external request to the application to do work and contains a summary of that request execution and the results. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar id: Required. Identifier of a request call instance. Used for correlation between request + and other telemetry items. + :vartype id: str + :ivar name: Name of the request. Represents code path taken to process request. Low cardinality + value to allow better grouping of requests. For HTTP requests it represents the HTTP method and + URL path template like 'GET /values/{id}'. + :vartype name: str + :ivar duration: Required. Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than + 1000 days. + :vartype duration: str + :ivar success: Required. Indication of successful or unsuccessful call. + :vartype success: bool + :ivar response_code: Required. Result of a request execution. HTTP status code for HTTP + requests. + :vartype response_code: str + :ivar source: Source of the request. Examples are the instrumentation key of the caller or the + ip address of the caller. + :vartype source: str + :ivar url: Request URL with all query string parameters. + :vartype url: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "id": {"required": True, "max_length": 512, "min_length": 0}, + "name": {"max_length": 1024, "min_length": 0}, + "duration": {"required": True}, + "success": {"required": True}, + "response_code": {"required": True, "max_length": 1024, "min_length": 0}, + "source": {"max_length": 1024, "min_length": 0}, + "url": {"max_length": 2048, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "id": {"key": "id", "type": "str"}, + "name": {"key": "name", "type": "str"}, + "duration": {"key": "duration", "type": "str"}, + "success": {"key": "success", "type": "bool"}, + "response_code": {"key": "responseCode", "type": "str"}, + "source": {"key": "source", "type": "str"}, + "url": {"key": "url", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__( + self, + *, + version: int = 2, + id: str, + duration: str, + success: bool = True, + response_code: str, + additional_properties: Optional[Dict[str, Any]] = None, + name: Optional[str] = None, + source: Optional[str] = None, + url: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + measurements: Optional[Dict[str, float]] = None, + **kwargs + ): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword id: Required. Identifier of a request call instance. Used for correlation between + request and other telemetry items. + :paramtype id: str + :keyword name: Name of the request. Represents code path taken to process request. Low + cardinality value to allow better grouping of requests. For HTTP requests it represents the + HTTP method and URL path template like 'GET /values/{id}'. + :paramtype name: str + :keyword duration: Required. Request duration in format: DD.HH:MM:SS.MMMMMM. Must be less than + 1000 days. + :paramtype duration: str + :keyword success: Required. Indication of successful or unsuccessful call. + :paramtype success: bool + :keyword response_code: Required. Result of a request execution. HTTP status code for HTTP + requests. + :paramtype response_code: str + :keyword source: Source of the request. Examples are the instrumentation key of the caller or + the ip address of the caller. + :paramtype source: str + :keyword url: Request URL with all query string parameters. + :paramtype url: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(RequestData, self).__init__(additional_properties=additional_properties, version=version, **kwargs) + self.id = id + self.name = name + self.duration = duration + self.success = success + self.response_code = response_code + self.source = source + self.url = url + self.properties = properties + self.measurements = measurements + + +class StackFrame(msrest.serialization.Model): + """Stack frame information. + + All required parameters must be populated in order to send to Azure. + + :ivar level: Required. + :vartype level: int + :ivar method: Required. Method name. + :vartype method: str + :ivar assembly: Name of the assembly (dll, jar, etc.) containing this function. + :vartype assembly: str + :ivar file_name: File name or URL of the method implementation. + :vartype file_name: str + :ivar line: Line number of the code implementation. + :vartype line: int + """ + + _validation = { + "level": {"required": True}, + "method": {"required": True, "max_length": 1024, "min_length": 0}, + "assembly": {"max_length": 1024, "min_length": 0}, + "file_name": {"max_length": 1024, "min_length": 0}, + } + + _attribute_map = { + "level": {"key": "level", "type": "int"}, + "method": {"key": "method", "type": "str"}, + "assembly": {"key": "assembly", "type": "str"}, + "file_name": {"key": "fileName", "type": "str"}, + "line": {"key": "line", "type": "int"}, + } + + def __init__( + self, + *, + level: int, + method: str, + assembly: Optional[str] = None, + file_name: Optional[str] = None, + line: Optional[int] = None, + **kwargs + ): + """ + :keyword level: Required. + :paramtype level: int + :keyword method: Required. Method name. + :paramtype method: str + :keyword assembly: Name of the assembly (dll, jar, etc.) containing this function. + :paramtype assembly: str + :keyword file_name: File name or URL of the method implementation. + :paramtype file_name: str + :keyword line: Line number of the code implementation. + :paramtype line: int + """ + super(StackFrame, self).__init__(**kwargs) + self.level = level + self.method = method + self.assembly = assembly + self.file_name = file_name + self.line = line + + +class TelemetryErrorDetails(msrest.serialization.Model): + """The error details. + + :ivar index: The index in the original payload of the item. + :vartype index: int + :ivar status_code: The item specific `HTTP Response status code <#Response Status Codes>`_. + :vartype status_code: int + :ivar message: The error message. + :vartype message: str + """ + + _attribute_map = { + "index": {"key": "index", "type": "int"}, + "status_code": {"key": "statusCode", "type": "int"}, + "message": {"key": "message", "type": "str"}, + } + + def __init__( + self, *, index: Optional[int] = None, status_code: Optional[int] = None, message: Optional[str] = None, **kwargs + ): + """ + :keyword index: The index in the original payload of the item. + :paramtype index: int + :keyword status_code: The item specific `HTTP Response status code <#Response Status Codes>`_. + :paramtype status_code: int + :keyword message: The error message. + :paramtype message: str + """ + super(TelemetryErrorDetails, self).__init__(**kwargs) + self.index = index + self.status_code = status_code + self.message = message + + +class TelemetryEventData(MonitorDomain): + """Instances of Event represent structured event records that can be grouped and searched by their properties. Event data item also creates a metric of event count by name. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar name: Required. Event name. Keep it low cardinality to allow proper grouping and useful + metrics. + :vartype name: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "name": {"required": True, "max_length": 512, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "name": {"key": "name", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__( + self, + *, + version: int = 2, + name: str, + additional_properties: Optional[Dict[str, Any]] = None, + properties: Optional[Dict[str, str]] = None, + measurements: Optional[Dict[str, float]] = None, + **kwargs + ): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword name: Required. Event name. Keep it low cardinality to allow proper grouping and + useful metrics. + :paramtype name: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(TelemetryEventData, self).__init__(additional_properties=additional_properties, version=version, **kwargs) + self.name = name + self.properties = properties + self.measurements = measurements + + +class TelemetryExceptionData(MonitorDomain): + """An instance of Exception represents a handled or unhandled exception that occurred during execution of the monitored application. + + All required parameters must be populated in order to send to Azure. + + :ivar additional_properties: Unmatched properties from the message are deserialized to this + collection. + :vartype additional_properties: dict[str, any] + :ivar version: Required. Schema version. + :vartype version: int + :ivar exceptions: Required. Exception chain - list of inner exceptions. + :vartype exceptions: list[~azure_monitor_client.models.TelemetryExceptionDetails] + :ivar severity_level: Severity level. Mostly used to indicate exception severity level when it + is reported by logging library. Possible values include: "Verbose", "Information", "Warning", + "Error", "Critical". + :vartype severity_level: str or ~azure_monitor_client.models.SeverityLevel + :ivar problem_id: Identifier of where the exception was thrown in code. Used for exceptions + grouping. Typically a combination of exception type and a function from the call stack. + :vartype problem_id: str + :ivar properties: Collection of custom properties. + :vartype properties: dict[str, str] + :ivar measurements: Collection of custom measurements. + :vartype measurements: dict[str, float] + """ + + _validation = { + "version": {"required": True}, + "exceptions": {"required": True}, + "problem_id": {"max_length": 1024, "min_length": 0}, + } + + _attribute_map = { + "additional_properties": {"key": "", "type": "{object}"}, + "version": {"key": "ver", "type": "int"}, + "exceptions": {"key": "exceptions", "type": "[TelemetryExceptionDetails]"}, + "severity_level": {"key": "severityLevel", "type": "str"}, + "problem_id": {"key": "problemId", "type": "str"}, + "properties": {"key": "properties", "type": "{str}"}, + "measurements": {"key": "measurements", "type": "{float}"}, + } + + def __init__( + self, + *, + version: int = 2, + exceptions: List["TelemetryExceptionDetails"], + additional_properties: Optional[Dict[str, Any]] = None, + severity_level: Optional[Union[str, "SeverityLevel"]] = None, + problem_id: Optional[str] = None, + properties: Optional[Dict[str, str]] = None, + measurements: Optional[Dict[str, float]] = None, + **kwargs + ): + """ + :keyword additional_properties: Unmatched properties from the message are deserialized to this + collection. + :paramtype additional_properties: dict[str, any] + :keyword version: Required. Schema version. + :paramtype version: int + :keyword exceptions: Required. Exception chain - list of inner exceptions. + :paramtype exceptions: list[~azure_monitor_client.models.TelemetryExceptionDetails] + :keyword severity_level: Severity level. Mostly used to indicate exception severity level when + it is reported by logging library. Possible values include: "Verbose", "Information", + "Warning", "Error", "Critical". + :paramtype severity_level: str or ~azure_monitor_client.models.SeverityLevel + :keyword problem_id: Identifier of where the exception was thrown in code. Used for exceptions + grouping. Typically a combination of exception type and a function from the call stack. + :paramtype problem_id: str + :keyword properties: Collection of custom properties. + :paramtype properties: dict[str, str] + :keyword measurements: Collection of custom measurements. + :paramtype measurements: dict[str, float] + """ + super(TelemetryExceptionData, self).__init__( + additional_properties=additional_properties, version=version, **kwargs + ) + self.exceptions = exceptions + self.severity_level = severity_level + self.problem_id = problem_id + self.properties = properties + self.measurements = measurements + + +class TelemetryExceptionDetails(msrest.serialization.Model): + """Exception details of the exception in a chain. + + All required parameters must be populated in order to send to Azure. + + :ivar id: In case exception is nested (outer exception contains inner one), the id and outerId + properties are used to represent the nesting. + :vartype id: int + :ivar outer_id: The value of outerId is a reference to an element in ExceptionDetails that + represents the outer exception. + :vartype outer_id: int + :ivar type_name: Exception type name. + :vartype type_name: str + :ivar message: Required. Exception message. + :vartype message: str + :ivar has_full_stack: Indicates if full exception stack is provided in the exception. The stack + may be trimmed, such as in the case of a StackOverflow exception. + :vartype has_full_stack: bool + :ivar stack: Text describing the stack. Either stack or parsedStack should have a value. + :vartype stack: str + :ivar parsed_stack: List of stack frames. Either stack or parsedStack should have a value. + :vartype parsed_stack: list[~azure_monitor_client.models.StackFrame] + """ + + _validation = { + "type_name": {"max_length": 1024, "min_length": 0}, + "message": {"required": True, "max_length": 32768, "min_length": 0}, + "stack": {"max_length": 32768, "min_length": 0}, + } + + _attribute_map = { + "id": {"key": "id", "type": "int"}, + "outer_id": {"key": "outerId", "type": "int"}, + "type_name": {"key": "typeName", "type": "str"}, + "message": {"key": "message", "type": "str"}, + "has_full_stack": {"key": "hasFullStack", "type": "bool"}, + "stack": {"key": "stack", "type": "str"}, + "parsed_stack": {"key": "parsedStack", "type": "[StackFrame]"}, + } + + def __init__( + self, + *, + message: str, + id: Optional[int] = None, + outer_id: Optional[int] = None, + type_name: Optional[str] = None, + has_full_stack: Optional[bool] = True, + stack: Optional[str] = None, + parsed_stack: Optional[List["StackFrame"]] = None, + **kwargs + ): + """ + :keyword id: In case exception is nested (outer exception contains inner one), the id and + outerId properties are used to represent the nesting. + :paramtype id: int + :keyword outer_id: The value of outerId is a reference to an element in ExceptionDetails that + represents the outer exception. + :paramtype outer_id: int + :keyword type_name: Exception type name. + :paramtype type_name: str + :keyword message: Required. Exception message. + :paramtype message: str + :keyword has_full_stack: Indicates if full exception stack is provided in the exception. The + stack may be trimmed, such as in the case of a StackOverflow exception. + :paramtype has_full_stack: bool + :keyword stack: Text describing the stack. Either stack or parsedStack should have a value. + :paramtype stack: str + :keyword parsed_stack: List of stack frames. Either stack or parsedStack should have a value. + :paramtype parsed_stack: list[~azure_monitor_client.models.StackFrame] + """ + super(TelemetryExceptionDetails, self).__init__(**kwargs) + self.id = id + self.outer_id = outer_id + self.type_name = type_name + self.message = message + self.has_full_stack = has_full_stack + self.stack = stack + self.parsed_stack = parsed_stack + + +class TelemetryItem(msrest.serialization.Model): + """System variables for a telemetry item. + + All required parameters must be populated in order to send to Azure. + + :ivar version: Envelope version. For internal use only. By assigning this the default, it will + not be serialized within the payload unless changed to a value other than #1. + :vartype version: int + :ivar name: Required. Type name of telemetry data item. + :vartype name: str + :ivar time: Required. Event date time when telemetry item was created. This is the wall clock + time on the client when the event was generated. There is no guarantee that the client's time + is accurate. This field must be formatted in UTC ISO 8601 format, with a trailing 'Z' + character, as described publicly on https://en.wikipedia.org/wiki/ISO_8601#UTC. Note: the + number of decimal seconds digits provided are variable (and unspecified). Consumers should + handle this, i.e. managed code consumers should not use format 'O' for parsing as it specifies + a fixed length. Example: 2009-06-15T13:45:30.0000000Z. + :vartype time: ~datetime.datetime + :ivar sample_rate: Sampling rate used in application. This telemetry item represents 100 / + sampleRate actual telemetry items. + :vartype sample_rate: float + :ivar sequence: Sequence field used to track absolute order of uploaded events. + :vartype sequence: str + :ivar instrumentation_key: The instrumentation key of the Application Insights resource. + :vartype instrumentation_key: str + :ivar tags: A set of tags. Key/value collection of context properties. See ContextTagKeys for + information on available properties. + :vartype tags: dict[str, str] + :ivar data: Telemetry data item. + :vartype data: ~azure_monitor_client.models.MonitorBase + """ + + _validation = { + "name": {"required": True}, + "time": {"required": True}, + "sequence": {"max_length": 64, "min_length": 0}, + } + + _attribute_map = { + "version": {"key": "ver", "type": "int"}, + "name": {"key": "name", "type": "str"}, + "time": {"key": "time", "type": "iso-8601"}, + "sample_rate": {"key": "sampleRate", "type": "float"}, + "sequence": {"key": "seq", "type": "str"}, + "instrumentation_key": {"key": "iKey", "type": "str"}, + "tags": {"key": "tags", "type": "{str}"}, + "data": {"key": "data", "type": "MonitorBase"}, + } + + def __init__( + self, + *, + name: str, + time: datetime.datetime, + version: Optional[int] = 1, + sample_rate: Optional[float] = 100, + sequence: Optional[str] = None, + instrumentation_key: Optional[str] = None, + tags: Optional[Dict[str, str]] = None, + data: Optional["MonitorBase"] = None, + **kwargs + ): + """ + :keyword version: Envelope version. For internal use only. By assigning this the default, it + will not be serialized within the payload unless changed to a value other than #1. + :paramtype version: int + :keyword name: Required. Type name of telemetry data item. + :paramtype name: str + :keyword time: Required. Event date time when telemetry item was created. This is the wall + clock time on the client when the event was generated. There is no guarantee that the client's + time is accurate. This field must be formatted in UTC ISO 8601 format, with a trailing 'Z' + character, as described publicly on https://en.wikipedia.org/wiki/ISO_8601#UTC. Note: the + number of decimal seconds digits provided are variable (and unspecified). Consumers should + handle this, i.e. managed code consumers should not use format 'O' for parsing as it specifies + a fixed length. Example: 2009-06-15T13:45:30.0000000Z. + :paramtype time: ~datetime.datetime + :keyword sample_rate: Sampling rate used in application. This telemetry item represents 100 / + sampleRate actual telemetry items. + :paramtype sample_rate: float + :keyword sequence: Sequence field used to track absolute order of uploaded events. + :paramtype sequence: str + :keyword instrumentation_key: The instrumentation key of the Application Insights resource. + :paramtype instrumentation_key: str + :keyword tags: A set of tags. Key/value collection of context properties. See ContextTagKeys + for information on available properties. + :paramtype tags: dict[str, str] + :keyword data: Telemetry data item. + :paramtype data: ~azure_monitor_client.models.MonitorBase + """ + super(TelemetryItem, self).__init__(**kwargs) + self.version = version + self.name = name + self.time = time + self.sample_rate = sample_rate + self.sequence = sequence + self.instrumentation_key = instrumentation_key + self.tags = tags + self.data = data + + +class TrackResponse(msrest.serialization.Model): + """Response containing the status of each telemetry item. + + :ivar items_received: The number of items received. + :vartype items_received: int + :ivar items_accepted: The number of items accepted. + :vartype items_accepted: int + :ivar errors: An array of error detail objects. + :vartype errors: list[~azure_monitor_client.models.TelemetryErrorDetails] + """ + + _attribute_map = { + "items_received": {"key": "itemsReceived", "type": "int"}, + "items_accepted": {"key": "itemsAccepted", "type": "int"}, + "errors": {"key": "errors", "type": "[TelemetryErrorDetails]"}, + } + + def __init__( + self, + *, + items_received: Optional[int] = None, + items_accepted: Optional[int] = None, + errors: Optional[List["TelemetryErrorDetails"]] = None, + **kwargs + ): + """ + :keyword items_received: The number of items received. + :paramtype items_received: int + :keyword items_accepted: The number of items accepted. + :paramtype items_accepted: int + :keyword errors: An array of error detail objects. + :paramtype errors: list[~azure_monitor_client.models.TelemetryErrorDetails] + """ + super(TrackResponse, self).__init__(**kwargs) + self.items_received = items_received + self.items_accepted = items_accepted + self.errors = errors diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/operations/__init__.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/operations/__init__.py new file mode 100644 index 00000000..a1b6ce78 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/operations/__init__.py @@ -0,0 +1,13 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- + +from ._azure_monitor_client_operations import AzureMonitorClientOperationsMixin + +__all__ = [ + "AzureMonitorClientOperationsMixin", +] diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/operations/_azure_monitor_client_operations.py b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/operations/_azure_monitor_client_operations.py new file mode 100644 index 00000000..6bc3c37e --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/operations/_azure_monitor_client_operations.py @@ -0,0 +1,140 @@ +# pylint: disable=too-many-lines +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for license information. +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is regenerated. +# -------------------------------------------------------------------------- +from typing import TYPE_CHECKING + +from msrest import Serializer + +from azure.core.exceptions import ( + ClientAuthenticationError, + HttpResponseError, + ResourceExistsError, + ResourceNotFoundError, + map_error, +) +from azure.core.pipeline import PipelineResponse +from azure.core.pipeline.transport import HttpResponse +from azure.core.rest import HttpRequest + +from .. import models as _models +from .._vendor import _convert_request + +if TYPE_CHECKING: + # pylint: disable=unused-import,ungrouped-imports + from typing import Any, Callable, Dict, List, Optional, TypeVar + + T = TypeVar("T") + ClsType = Optional[Callable[[PipelineResponse[HttpRequest, HttpResponse], T, Dict[str, Any]], Any]] + +_SERIALIZER = Serializer() +_SERIALIZER.client_side_validation = False +# fmt: off + +def build_track_request( + **kwargs # type: Any +): + # type: (...) -> HttpRequest + content_type = kwargs.pop('content_type', None) # type: Optional[str] + + accept = "application/json" + # Construct URL + _url = kwargs.pop("template_url", "/track") + + # Construct headers + _header_parameters = kwargs.pop("headers", {}) # type: Dict[str, Any] + if content_type is not None: + _header_parameters['Content-Type'] = _SERIALIZER.header("content_type", content_type, 'str') + _header_parameters['Accept'] = _SERIALIZER.header("accept", accept, 'str') + + return HttpRequest( + method="POST", + url=_url, + headers=_header_parameters, + **kwargs + ) + + +# fmt: on +class AzureMonitorClientOperationsMixin(object): + + def track( + self, + body, # type: List["_models.TelemetryItem"] + **kwargs # type: Any + ): + # type: (...) -> "_models.TrackResponse" + """Track telemetry events. + + This operation sends a sequence of telemetry events that will be monitored by Azure Monitor. + + :param body: The list of telemetry events to track. + :type body: list[~azure_monitor_client.models.TelemetryItem] + :keyword callable cls: A custom type or function that will be passed the direct response + :return: TrackResponse, or the result of cls(response) + :rtype: ~azure_monitor_client.models.TrackResponse + :raises: ~azure.core.exceptions.HttpResponseError + """ + cls = kwargs.pop("cls", None) # type: ClsType["_models.TrackResponse"] + error_map = { + 401: ClientAuthenticationError, + 404: ResourceNotFoundError, + 409: ResourceExistsError, + 400: lambda response: HttpResponseError( + response=response, model=self._deserialize(_models.TrackResponse, response) + ), + 402: lambda response: HttpResponseError( + response=response, model=self._deserialize(_models.TrackResponse, response) + ), + 429: lambda response: HttpResponseError( + response=response, model=self._deserialize(_models.TrackResponse, response) + ), + 500: lambda response: HttpResponseError( + response=response, model=self._deserialize(_models.TrackResponse, response) + ), + 503: lambda response: HttpResponseError( + response=response, model=self._deserialize(_models.TrackResponse, response) + ), + } + error_map.update(kwargs.pop("error_map", {})) + + content_type = kwargs.pop("content_type", "application/json") # type: Optional[str] + + _json = self._serialize.body(body, "[TelemetryItem]") + + request = build_track_request( + content_type=content_type, + json=_json, + template_url=self.track.metadata["url"], + ) + request = _convert_request(request) + path_format_arguments = { + "Host": self._serialize.url("self._config.host", self._config.host, "str", skip_quote=True), + } + request.url = self._client.format_url(request.url, **path_format_arguments) + + pipeline_response = self._client._pipeline.run( # pylint: disable=protected-access + request, stream=False, **kwargs + ) + response = pipeline_response.http_response + + if response.status_code not in [200, 206]: + map_error(status_code=response.status_code, response=response, error_map=error_map) + raise HttpResponseError(response=response) + + if response.status_code == 200: + deserialized = self._deserialize("TrackResponse", pipeline_response) + + if response.status_code == 206: + deserialized = self._deserialize("TrackResponse", pipeline_response) + + if cls: + return cls(pipeline_response, deserialized, {}) + + return deserialized + + track.metadata = {"url": "/track"} # type: ignore diff --git a/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/py.typed b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/py.typed new file mode 100644 index 00000000..e5aff4f8 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/azure/monitor/opentelemetry/exporter/_generated/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561.
\ No newline at end of file |