✏️ 正在编辑: metrics.py
路径:
/opt/hc_python/lib/python3.12/site-packages/sentry_sdk/metrics.py
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
import time from typing import TYPE_CHECKING, Any, Optional import sentry_sdk from sentry_sdk.utils import format_attribute if TYPE_CHECKING: from sentry_sdk._types import Attributes, Metric, MetricType def _capture_metric( name: str, metric_type: "MetricType", value: float, unit: "Optional[str]" = None, attributes: "Optional[Attributes]" = None, ) -> None: attrs: "Attributes" = {} if attributes: for k, v in attributes.items(): attrs[k] = format_attribute(v) metric: "Metric" = { "timestamp": time.time(), "trace_id": None, "span_id": None, "name": name, "type": metric_type, "value": float(value), "unit": unit, "attributes": attrs, } sentry_sdk.get_current_scope()._capture_metric(metric) def count( name: str, value: float, unit: "Optional[str]" = None, attributes: "Optional[dict[str, Any]]" = None, ) -> None: _capture_metric(name, "counter", value, unit, attributes) def gauge( name: str, value: float, unit: "Optional[str]" = None, attributes: "Optional[dict[str, Any]]" = None, ) -> None: _capture_metric(name, "gauge", value, unit, attributes) def distribution( name: str, value: float, unit: "Optional[str]" = None, attributes: "Optional[dict[str, Any]]" = None, ) -> None: _capture_metric(name, "distribution", value, unit, attributes)
💾 保存文件
← 返回文件管理器