ОтелРесурс
Класс описания ресурса (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": [...]}
Пример
// Ресурс по умолчанию с атрибутами приложения
Ресурс = ОтелРесурсы.ПоУмолчанию().ВПостроитель()
.Установить("service.name", "мой-сервис")
.Установить("service.version", "1.0.0")
.Построить();
// Вместе с детекторами и переменными окружения
Ресурс = ОтелРесурсы.ПоУмолчанию()
.Слить(ОтелРесурсы.ИзДетекторов())
.Слить(ОтелРесурсы.ИзОкружения());
// Ресурс ровно из своих атрибутов
Атрибуты = Новый Соответствие();
Атрибуты.Вставить("service.name", "мой-сервис");
Ресурс = Новый ОтелРесурс(Атрибуты, "https://opentelemetry.io/schemas/1.44.0");