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

OSCHINA-MIRROR/weiboad-fierysdk

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

RagnarSDK

Последняя стабильная версия Последняя нестабильная версия Лицензия

Введение

  • для комплексного онлайн-трассирования системы.
  • поддержка онлайн-отладки, уровня журнала, сбора исключений и ошибок, мониторинга производительности и зависимостей.
  • для https://github.com/weiboad/fiery.

Требования

  • PHP5.3+ с bcmath.
  • charset utf-8 проекта.

Шаг 1: Переменные контейнера

Nginx

Скопируйте nginx/fiery_fastcgi_pararms в nginx/conf и отредактируйте конфигурацию vhost.

server{
    listen 80;
    charset utf-8;
    root /path/xxx/xxx/src/public;
    server_name xxx.com;

    location /{
        index index.php index.html index.htm;
        if (-f $request_filename) {
            break;
        }
        if (-d $request_filename) {
            break;
        }
        if ($request_filename !~ (\.css|images|index\.php.*) ) {
            rewrite ^/(.*)$ /index.php/$1 last;
            break;
        }
    }

    location ~ /index.php/ {
        fastcgi_index index.php;
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
        include fiery_fastcgi_params; # здесь точка
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_read_timeout 600;
    }

    location ~ \.php$ {
        fastcgi_index index.php;
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
        include fiery_fastcgi_params; # здесь точка
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_read_timeout 600;
    }
}
# перезагрузите конфигурацию nginx
nginx -s reload
Apache
<VirtualHost *:80>
    ServerAdmin webmaster@demo.com
    DocumentRoot "e:\wwwroot\demo"
    ServerName my.demo.com
    ErrorLog "logs/my.demo.com-error.log"
    CustomLog "logs/my.demo.com-access.log" common

    # начало настройки переменных для fierysdk
    SetEnv RAGNAR_LOGPATH /data1/ragnar/ # здесь точка
    SetEnv RAGNAR_IDC 0 # здесь точка
    SetEnv RAGNAR_IP 192.168.1.123 # здесь точка

    <Directory "e:\wwwroot\demo">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Установка Fierysdk

Выполните команду, чтобы получить этот композитор.

composer require weiboad/fierysdk

Вставьте код в загрузочную часть PHP-проекта.

require_once("vendor/autoload.php");

use \Adinf\RagnarSDK\RagnarSDK as RagnarSDK;
use \Adinf\RagnarSDK\RagnarConst as RagnarConst;

//для временного отключения этого sdk
//RagnarSDK::disable();

//по умолчанию уровень журнала — info, вы можете временно открыть уровень отладки, отправив заголовок
RagnarSDK::setLogLevel(RagnarConst::LOG_TYPE_INFO);

//фильтр url
//когда URL содержит параметр в пути, например
//http://wwwei.com/usr/$uid(an var alway change)/fetch
//вы должны написать правило в этом обратном вызове, отфильтрованном до http://wwwei.com/usr/releaced/fetch

RagnarSDK::setUrlFilterCallback(function ($url, $hashquery) {
    if (trim($url) == "") {
        return "";
    }
    if (stripos($url, 'http') !== 0) {
        $url = "http://" . $url;
    }

    $urlinfo = parse_url($url);

    if(!$urlinfo){
        return $url."#PARSERERROR";
    }

    if (!isset($urlinfo["scheme"])) {
        $urlinfo["scheme"] = "http";
    }

    if (!isset($urlinfo["path"])) {
        $urlinfo["path"] = "/";
    }

    if (!isset($urlinfo["query"])) {
        $urlinfo["query"] = "";
    }

    if ($hashquery) {
        return $urlinfo["scheme"] . "://" . $urlinfo["host"] . $urlinfo["path"] . "?" . $urlinfo["query"];
    } else {
        return
``` **Рагнар: логирование и трассировка**

Текст представляет собой фрагмент кода, написанный на языке PHP. В нём используются методы класса RagnarSDK для настройки логирования и трассировки в приложении.

Класс RagnarSDK предоставляет методы для записи логов различного уровня (от trace до emergency), а также для трассировки выполнения функций с помощью dig point.

В тексте есть примеры использования методов RecordLog, digLogStart, digLogEnd, getCurlChildCallParam, curl_getinfo, digMysqlEnd для настройки логгирования и трассировки.

Также в тексте описывается использование заголовков X-RAGNAR-TRACEID, X-RAGNAR-RPCID и X-RAGNAR-LOGLEVEL для временного изменения уровня логирования.

*Обратите внимание, что это только перевод текста без дополнительных комментариев.*

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.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