// Copyright The OpenTelemetry Authors // SPDX-License-Identifier: Apache-2.0 package metric // import "go.opentelemetry.io/otel/sdk/metric" import ( "os" "strconv" "time" "go.opentelemetry.io/otel/internal/global" ) // Environment variable names. const ( // The time interval (in milliseconds) between the start of two export attempts. envInterval = "OTEL_METRIC_EXPORT_INTERVAL" // Maximum allowed time (in milliseconds) to export data. envTimeout = "OTEL_METRIC_EXPORT_TIMEOUT" ) // envDuration returns an environment variable's value as duration in milliseconds if it is exists, // or the defaultValue if the environment variable is not defined or the value is not valid. func envDuration(key string, defaultValue time.Duration) time.Duration { v := os.Getenv(key) if v == "" { return defaultValue } d, err := strconv.Atoi(v) if err != nil { global.Error(err, "parse duration", "environment variable", key, "value", v) return defaultValue } if d <= 0 { global.Error(errNonPositiveDuration, "non-positive duration", "environment variable", key, "value", v) return defaultValue } return time.Duration(d) * time.Millisecond }