def _record_operation_duration_metric()

in instrumentation/elastic-opentelemetry-instrumentation-openai/src/opentelemetry/instrumentation/openai/helpers.py [0:0]


def _record_operation_duration_metric(metric: Histogram, attributes: Attributes, start: float):
    attribute_names = (
        GEN_AI_OPERATION_NAME,
        GEN_AI_REQUEST_MODEL,
        GEN_AI_RESPONSE_MODEL,
        GEN_AI_SYSTEM,
        ERROR_TYPE,
        SERVER_ADDRESS,
        SERVER_PORT,
    )
    operation_duration_metric_attrs = {k: v for k, v in attributes.items() if k in attribute_names}
    duration_s = default_timer() - start
    metric.record(duration_s, operation_duration_metric_attrs)