Source code for multistorageclient.telemetry.attributes.process
1# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. 2# SPDX-License-Identifier: Apache-2.0 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9#10# Unless required by applicable law or agreed to in writing, software11# distributed under the License is distributed on an "AS IS" BASIS,12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.13# See the License for the specific language governing permissions and14# limitations under the License.1516importenum17importmultiprocessing18fromcollections.abcimportMapping1920importopentelemetry.util.typesasapi_types2122from.baseimportAttributesProvider2324
[docs]25classProcessAttributesProvider(AttributesProvider):26"""27 Provides :py:type:`opentelemetry.util.types.Attributes` from current process information.28 """29
[docs]30classProcessAttribute(enum.Enum):31"""32 Process attribute.3334 Use the enum value in the attributes dictionary values.35 """3637#: Process ID.38PID="pid"
3940#: Attribute key to process attribute map.41_attributes:Mapping[str,ProcessAttribute]4243def__init__(self,attributes:Mapping[str,str]):44"""45 :param attributes: Map of attribute key to process attribute.46 """4748self._attributes={49attribute_key:ProcessAttributesProvider.ProcessAttribute(process_attribute)50forattribute_key,process_attributeinattributes.items()51}52