UNPKG

@opentelemetry/resources

Version:
67 lines 2.68 kB
/*! * Copyright 2020, OpenTelemetry Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { Resource } from '../../../Resource'; import { Detector } from '../../../types'; /** * EnvDetector can be used to detect the presence of and create a Resource * from the OTEL_RESOURCE_LABELS environment variable. */ declare class EnvDetector implements Detector { private readonly _MAX_LENGTH; private readonly _COMMA_SEPARATOR; private readonly _LABEL_KEY_VALUE_SPLITTER; private readonly _ERROR_MESSAGE_INVALID_CHARS; private readonly _ERROR_MESSAGE_INVALID_VALUE; /** * Returns a {@link Resource} populated with labels from the * OTEL_RESOURCE_LABELS environment variable. Note this is an async function * to conform to the Detector interface. */ detect(): Promise<Resource>; /** * Creates a label map from the OTEL_RESOURCE_LABELS environment variable. * * OTEL_RESOURCE_LABELS: A comma-separated list of labels describing the * source in more detail, e.g. “key1=val1,key2=val2”. Domain names and paths * are accepted as label keys. Values may be quoted or unquoted in general. If * a value contains whitespaces, =, or " characters, it must always be quoted. * * @param rawEnvLabels The resource labels as a comma-seperated list * of key/value pairs. * @returns The sanitized resource labels. */ private _parseResourceLabels; /** * Determines whether the given String is a valid printable ASCII string with * a length not exceed _MAX_LENGTH characters. * * @param str The String to be validated. * @returns Whether the String is valid. */ private _isValid; private _isPrintableString; /** * Determines whether the given String is a valid printable ASCII string with * a length greater than 0 and not exceed _MAX_LENGTH characters. * * @param str The String to be validated. * @returns Whether the String is valid and not empty. */ private _isValidAndNotEmpty; } export declare const envDetector: EnvDetector; export {}; //# sourceMappingURL=EnvDetector.d.ts.map