//Ragnar: пример ручного вёрстки журнала производительности ragnar_test. RagnarSDK предлагает использовать формат curl mysql (ниже уже определён формат, пожалуйста, используйте его).
$digpooint = RagnarSDK::digLogStart(FILE, LINE, "ragnar_test");
//run something.....
RagnarSDK::digLogEnd($digpooint, array("happy" => 1));
- Уровни журнала: в проекте напрямую используется функция бизнес-журнала Ragnar. В режиме онлайн можно отлаживать и изменять уровень журнала текущего запроса интерфейса с помощью зашифрованного текста.
- Индекс журнала: все журналы, соответствующие уровню бизнеса, будут записаны в систему. Вы можете просмотреть все связанные вызовы и уровни журнала для этого интерфейса через Traceid текущего интерфейса.
- Предупреждающие сообщения: некоторые ошибки возникают во время выполнения программы. Можно настроить уровень журнала для отправки сообщений об ошибках на платформу управления. Платформа предоставляет функцию дедупликации и отправляет предупреждающие электронные письма и SMS.
- Журнал производительности: RagnarSDK имеет встроенную функцию измерения производительности (digstart/digend). С помощью этой функции вы можете отслеживать время работы некоторых ключевых функций. Платформа будет суммировать и подсчитывать статистику мониторинга интерфейсов.
- LOG_TYPE_TRACE — самый низкий уровень, используется для вывода содержимого переменных, предназначен только для отладки разработки или онлайн-отладки.
- LOG_TYPE_DEBUG — журнал отладки, вспомогательная информация отладки.
- LOG_TYPE_NOTICE — уведомление о предупреждении.
- LOG_TYPE_INFO — некоторые читаемые информационные подсказки.
- LOG_TYPE_ERROR — информация об ошибке системы, эта информация об ошибке будет отображаться в статистике ошибок платформы после её возникновения.
- LOG_TYPE_EMEGENCY — информация о системном предупреждении, эта информация о предупреждении будет отображаться в статистике предупреждений платформы после её появления, а также будет отправляться по электронной почте и SMS-уведомлениями.
- LOG_TYPE_EXCEPTION — информация об исключении системы, эта информация об исключении будет отображаться в статистике исключений платформы после её появления.
- LOG_TYPE_PERFORMENCE — вся информация журнала функций измерения производительности, при использовании этой функции рекомендуется использовать стандартный формат, иначе могут возникнуть проблемы с отображением на платформе.
Рекомендация по использованию curl, key следует использовать как есть, иначе это может вызвать проблемы при отображении на ragnar. Если вы используете этот метод для измерения, вы можете записать время запроса curl, результат и информацию о цепочке вызовов (если другая сторона API также установила эту библиотеку измерений, вы сможете увидеть цепочку вызовов).
//curl строку не изменять
$digpooint = RagnarSDK::digLogStart(__FILE__, __LINE__, "curl");
//код инициализации curl опускается...
$nextrpcidheader = RagnarSDK::getCurlChildCallParam($digpooint);//это очень важно
curl_setopt($this->ch, CURLOPT_HTTPHEADER, $nextrpcidheader);
$result = //выполнение кода curl опускается...
$ext = array("errorno" => $errno, "error" => curl_error($this->ch));
$info = curl_getinfo($this->ch);
//digCurlEnd($digPoint, $url, $method, $postParam, $getParam, $curlInfo, $errCode, $errMsg, $result)
RagnarSDK::digLogEnd($digpooint, array(
"url" => $info['url'], "method" => self::get_method(),
"param" => array("post" => $this->post_fields, "get" => $this->query_fields),
"info" => $info,
"error" => $ext,
"result" => json_decode($result,true),//должен быть массив
);
#### Рекомендации по использованию Mysql
Рекомендации по использованию mysql, пожалуйста, следуйте за ключом и постоянными полями, измеряя таким образом, вы можете записывать выполнение каждого SQL и производительность, а также чётко записывать исключения.
//Используется в случае возникновения исключения в операции запроса, используется для записи информации об исключении
RagnarSDK::RecordLog(\Adinf\Ragnar\Ragnar::LOG_TYPE_EXCEPTION, __FILE__, __LINE__, "mysql", array("fun" => "query", "sql" => $sql, "error" => $ex->getMessage()));
//Это помещается перед запросом, используется для мониторинга производительности
$digpooint = RagnarSDK::digLogStart(__FILE__, __LINE__, "mysql");
//выполняем некоторый sql
//Помещается после запроса, используется для мониторинга производительности
//RagnarSDK::digMysqlEnd($digPoint, $sql, "параметры sql", "select\delete\update\...", "execute_sql");
RagnarSDK:digLogEnd($digpooint, array("sql" => $sql, "data" => "параметры sql", "op" => "select\delete\update\...", "fun" => "execute_sql"));
//Если запрос не выполнен
if(error){
RagnarSDK::RecordLog(RagnarSDK::LOG_TYPE_EXCEPTION, __FILE__, __LINE__, "mysql", array("fun" => "execute", "sql" => $sql, "error" => $error));
}
При запросе интерфейса измерения RagnarSDK в заголовке HTTP можно добавить следующие заголовки для достижения соответствующего эффекта. В то же время ответ на запрос будет содержать следующие заголовки HTTP:
X-RAGNAR-TRACEID Уникальный идентификатор этого запроса uuid. Не рекомендуется включать этот заголовок при запросе.
X-RAGNAR-RPCID Порядковый счётчик текущего уровня вызова.
X-RAGNAR-LOGLEVEL Уровень журнала, который должен быть записан для этого запроса. Вы можете динамически изменять уровень журнала вывода для этого запроса.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )