Отображение определенных файлов PHP в Application Insights - PullRequest
0 голосов
/ 02 июня 2019

Мы перенесли очень старое php-приложение в Azure и активировали Application Insights с помощью параметра веб-приложения.

Теперь мы идентифицируем некоторые очень большие длительности запроса (> 15 с), но мы не можем определить, какие php-файлы являютсяответственный.

В информации о конкретной операции мы видим только domain.com/folder/, но не соответствующий php-файл.

Что нам нужно настроить, чтобы увидеть, какой файл (= function =>domain.com/folder/myfile.php) отвечает за это дрянное старое php-приложение?

Мы уже находимся в разработке, чтобы заменить это приложение с собственными функциональными возможностями Azure, но сейчас нам нужно исправить переход.

Спасибо

1 Ответ

0 голосов
/ 04 июня 2019

Согласитесь с @ Mike Oryszak , вам нужно написать код для сбора пользовательского события в вашем коде.

Для этого вы можете просто установить понимание приложения в своем коде, а затем

$telemetryClient = new \ApplicationInsights\Telemetry_Client();
$context = $telemetryClient->getContext();

// Necessary
$context->setInstrumentationKey('YOUR INSTRUMENTATION KEY');

// Optional
$context->getSessionContext()->setId(session_id());
$context->getUserContext()->setId('YOUR USER ID');
$context->getApplicationContext()->setVer('YOUR VERSION');
$context->getLocationContext()->setIp('YOUR IP');

// Start tracking
$telemetryClient->trackEvent('name of your event');
$telemetryClient->flush();

Вызывая метод ниже, вы можете записать любое сообщение в телеметрию AI.

$telemetryClient->trackEvent('name of your event');

Вот как вы можете отправлять пользовательскую телеметрию с пользовательскими свойствами.

$telemetryClient->trackEvent('name of your event', ['MyCustomProperty' => 42, 'MyCustomProperty2' => 'test'], ['duration', 42]);

Отправка запроса телеметрического элемента с продолжительностью, кодом состояния http, независимо от того, был ли запрос успешным, пользовательские свойства и измерения. Это, кажется, наиболее оптимально в вашем случае.

$telemetryClient->trackRequest('myRequest', 'http://foo.bar', time(), 3754, 200, true, ['InlineProperty' => 'test_value'], ['duration_inner' => 42.0]);

вы можете найти большеобразцы здесь .

Надеюсь, это поможет.

...