1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/weiboad-fierysdk

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_CN.md 8.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 16:14 7508d0b

Модуль 2_msg, массив («msg» => «Я хочу быть богатым!»);

//Ragnar: пример ручного вёрстки журнала производительности ragnar_test. RagnarSDK предлагает использовать формат curl mysql (ниже уже определён формат, пожалуйста, используйте его).

$digpooint = RagnarSDK::digLogStart(FILE, LINE, "ragnar_test");

//run something.....

RagnarSDK::digLogEnd($digpooint, array("happy" => 1));

Ragnar: функции журнала

  • Уровни журнала: в проекте напрямую используется функция бизнес-журнала 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

Рекомендация по использованию 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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/weiboad-fierysdk.git
git@api.gitlife.ru:oschina-mirror/weiboad-fierysdk.git
oschina-mirror
weiboad-fierysdk
weiboad-fierysdk
master