Skip to content

ОтелРесурс ​

Класс описания ресурса (Resource) по спецификации OpenTelemetry.

Описание ​

Ресурс описывает сущность, производящую телеметрию: сервис, хост, процесс и т.д. Аналог Java SDK: io.opentelemetry.sdk.resources.Resource.

Конструктор создаёт ресурс ровно из переданных атрибутов и ничего не добавляет сам. Готовые ресурсы возвращает модуль ОтелРесурсы:

  • ОтелРесурсы.ПоУмолчанию() — обязательные атрибуты SDK (service.name, telemetry.sdk.*); его получают провайдеры, которым ресурс не передан;
  • ОтелРесурсы.ИзДетекторов() — атрибуты детекторов ресурса;
  • ОтелРесурсы.ИзОкружения() — атрибуты из OTEL_RESOURCE_ATTRIBUTES и OTEL_SERVICE_NAME.

Автоконфигурация и файловая конфигурация собирают ресурс SDK из этих частей сами. Ресурс с дополнительными атрибутами собирается через ОтелПостроительРесурса или Слить.

Конструктор ​

ПараметрТипПо умолчаниюОписание
НачальныеАтрибутыОтелАтрибуты, СоответствиеНеопределеноАтрибуты ресурса. Копируются: изменение переданной коллекции ресурс не меняет. Без атрибутов ресурс пустой
НачальныйАдресСхемыСтрока""URL схемы ресурса

Методы ​

Атрибуты ​

Возвращает атрибуты ресурса.

Возвращает: ОтелАтрибуты — атрибуты ресурса


АдресСхемы ​

Возвращает URL схемы ресурса. OTLP-экспортёры передают непустой URL в поле schemaUrl группы ресурса; ресурсы с одинаковыми атрибутами и разными схемами экспортируются отдельными группами.

Возвращает: Строка — URL схемы или пустая строка


Слить ​

Создает новый ресурс как результат слияния текущего с другим. Атрибуты другого ресурса имеют приоритет. Если адрес схемы задан только у одного ресурса, он переходит в результат; если адреса разные, у результата адрес пустой, а в лог пишется ошибка.

ПараметрТипПо умолчаниюОписание
ДругойРесурсОтелРесурс—Ресурс для слияния

Возвращает: ОтелРесурс — новый ресурс со слитыми атрибутами


ВПостроитель ​

Возвращает построитель с атрибутами и адресом схемы этого ресурса. Аналог Java SDK: Resource.toBuilder().

Возвращает: ОтелПостроительРесурса — построитель с копией ресурса


ВСоответствиеOtlp ​

Преобразует ресурс в соответствие формата OTLP JSON.

Возвращает: Соответствие — {"attributes": [...]}

Пример ​

bsl
// Ресурс по умолчанию с атрибутами приложения
Ресурс = ОтелРесурсы.ПоУмолчанию().ВПостроитель()
    .Установить("service.name", "мой-сервис")
    .Установить("service.version", "1.0.0")
    .Построить();

// Вместе с детекторами и переменными окружения
Ресурс = ОтелРесурсы.ПоУмолчанию()
    .Слить(ОтелРесурсы.ИзДетекторов())
    .Слить(ОтелРесурсы.ИзОкружения());

// Ресурс ровно из своих атрибутов
Атрибуты = Новый Соответствие();
Атрибуты.Вставить("service.name", "мой-сервис");
Ресурс = Новый ОтелРесурс(Атрибуты, "https://opentelemetry.io/schemas/1.44.0");

См. также ​