У меня есть функция Azure, работающая локально в изолированном рабочем процессе. Я намерен использовать дополнительные пакеты OpenTelemetry, а не встроенные функции во время выполнения функций, поскольку я намерен интегрировать с OpenTelemtry.
Из того, что я могу Tell .AddSqlClientInstrumentation() из OpenTelemetry.Instrumentation.SqlClient
Должен отслеживать вызовы SQL при использовании Microsoft.Data.SQLClient, которые, по-видимому, используются выходными привязками в функциях Azure.
Однако я не вижу никаких доказательств того, что он работает.
Совместим ли пакет OpenTelemetry с привязкой выходных данных SQL Функций Azure при использовании изолированных функций?
Я вижу, что инструментарий HttpClient работает нормально, поэтому в целом пакеты OpenTelemetry настроены нормально.
Я предполагаю, что расширения работают в рабочем процессе хоста, а не в рабочем процессе хоста. чем рабочий процесс приложения? Но, прочитав документацию по жизненному циклу расширения, я не могу это подтвердить наверняка, поскольку они не выделяют это напрямую.
РЕДАКТИРОВАТЬ
Некоторый дополнительный контекст чтобы проиллюстрировать, чего я хочу достичь.
p.s. Меня меньше интересует решение проблем с кодом, а больше вопрос о том, есть ли в архитектуре библиотек инструментов Sql какие-либо проблемы, работающие во время выполнения функций Azure. Но я определенно вижу преимущество листинга кода для добавления большего контекста (спасибо за отзыв).
var builder = new HostBuilder()
.ConfigureFunctionsWebApplication()
.ConfigureServices(services =>
{
services.AddOpenTelemetry()
.ConfigureResource(resource => resource.AddService(serviceName))
.WithTracing(tracing => tracing
.AddAspNetCoreInstrumentation()
.AddSqlClientInstrumentation(options => options.SetDbStatementForText = true)
.AddHttpClientInstrumentation()
.AddConsoleExporter()
.AddAzureMonitorTraceExporter(options => options.ConnectionString = "XXX")
);
})
.ConfigureLogging(logging =>
{
logging.AddOpenTelemetry(options => options
.SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(serviceName))
.AddAzureMonitorLogExporter(options => options.ConnectionString = "XXX")
.AddConsoleExporter());
})
.UseDefaultServiceProvider(x => x.ValidateOnBuild = true);
var host = builder.Build();
host.Run();
У меня есть следующие ссылки на пакеты:
И следующее в файле host.json, в частности, я также играл с встроенной интеграцией appinsights, а также с OpenTelemetry, я задавался вопросом, может ли appinsights использовать его и не разрешать библиотекам OpenTelemtry получить телеметрию, но я не могу себе представить, чтобы это было спроектировано таким образом.
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
},
"enableLiveMetricsFilters": true,
"enableDependencyTracking": true,
"dependencyTrackingOptions": {
"enableSqlCommandTextInstrumentation": true
}
}
},
"logLevel": {
"default": "Information"
},
"telemetryMode": "openTelemetry"
}
РЕДАКТИРОВАТЬ 2:
Я использую привязки вывода функций Azure, т. е. украшая возвращаемый тип с помощью SqlOutput.
public class NewUserOutputBinding
{
[SqlOutput("dbo.Users", connectionStringSetting: "SqlConnectionString")]
public required User User { get; set; }
[HttpResult]
public required IActionResult HttpResponse { get; set; }
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... -functions
Должен ли OpenTelemetry AddSqlClientInstrumentation работать с функциями Azure? ⇐ C#
Место общения программистов C#
1726483421
Anonymous
У меня есть функция Azure, работающая локально в изолированном рабочем процессе. Я намерен использовать дополнительные пакеты OpenTelemetry, а не встроенные функции во время выполнения функций, поскольку я намерен интегрировать с OpenTelemtry.
Из того, что я могу Tell .AddSqlClientInstrumentation() из OpenTelemetry.Instrumentation.SqlClient
Должен отслеживать вызовы SQL при использовании Microsoft.Data.SQLClient, которые, по-видимому, используются выходными привязками в функциях Azure.
Однако я не вижу никаких доказательств того, что он работает.
Совместим ли пакет OpenTelemetry с привязкой выходных данных SQL Функций Azure при использовании изолированных функций?
Я вижу, что инструментарий HttpClient работает нормально, поэтому в целом пакеты OpenTelemetry настроены нормально.
Я предполагаю, что расширения работают в рабочем процессе хоста, а не в рабочем процессе хоста. чем рабочий процесс приложения? Но, прочитав документацию по жизненному циклу расширения, я не могу это подтвердить наверняка, поскольку они не выделяют это напрямую.
РЕДАКТИРОВАТЬ
Некоторый дополнительный контекст чтобы проиллюстрировать, чего я хочу достичь.
p.s. Меня меньше интересует решение проблем с кодом, а больше вопрос о том, есть ли в архитектуре библиотек инструментов Sql какие-либо проблемы, работающие во время выполнения функций Azure. Но я определенно вижу преимущество листинга кода для добавления большего контекста (спасибо за отзыв).
var builder = new HostBuilder()
.ConfigureFunctionsWebApplication()
.ConfigureServices(services =>
{
services.AddOpenTelemetry()
.ConfigureResource(resource => resource.AddService(serviceName))
.WithTracing(tracing => tracing
.AddAspNetCoreInstrumentation()
.AddSqlClientInstrumentation(options => options.SetDbStatementForText = true)
.AddHttpClientInstrumentation()
.AddConsoleExporter()
.AddAzureMonitorTraceExporter(options => options.ConnectionString = "XXX")
);
})
.ConfigureLogging(logging =>
{
logging.AddOpenTelemetry(options => options
.SetResourceBuilder(ResourceBuilder.CreateDefault().AddService(serviceName))
.AddAzureMonitorLogExporter(options => options.ConnectionString = "XXX")
.AddConsoleExporter());
})
.UseDefaultServiceProvider(x => x.ValidateOnBuild = true);
var host = builder.Build();
host.Run();
У меня есть следующие ссылки на пакеты:
И следующее в файле host.json, в частности, я также играл с встроенной интеграцией appinsights, а также с OpenTelemetry, я задавался вопросом, может ли appinsights использовать его и не разрешать библиотекам OpenTelemtry получить телеметрию, но я не могу себе представить, чтобы это было спроектировано таким образом.
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
},
"enableLiveMetricsFilters": true,
"enableDependencyTracking": true,
"dependencyTrackingOptions": {
"enableSqlCommandTextInstrumentation": true
}
}
},
"logLevel": {
"default": "Information"
},
"telemetryMode": "openTelemetry"
}
РЕДАКТИРОВАТЬ 2:
Я использую привязки вывода функций Azure, т. е. украшая возвращаемый тип с помощью SqlOutput.
public class NewUserOutputBinding
{
[SqlOutput("dbo.Users", connectionStringSetting: "SqlConnectionString")]
public required User User { get; set; }
[HttpResult]
public required IActionResult HttpResponse { get; set; }
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78958031/should-opentelemetry-addsqlclientinstrumentation-work-with-azure-functions[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия