成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Laravel接入Prometheus

YuboonaZhang / 677人閱讀

在原有的基礎(chǔ)上增加Counter計(jì)數(shù)器:

namespace AppHttpMiddleware;

use Closure;
use IlluminateHttpRequest;
use traumferienwohnungenPrometheusExporterMiddlewareAbstractResponseTimeMiddleware;

class PrometheusMonitor extends AbstractResponseTimeMiddleware
{
    protected function getRouteNames()
    {
        $routeNames = [];
        foreach (Route::getRoutes() as $route){
            $routeNames[] = "/".ltrim($route->uri(), "/");
        }
        return $routeNames;
    }

    /**
     * Handle an incoming request.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        if (defined("LARAVEL_START")){
            $start = LARAVEL_START;
        } elseif (defined("LUMEN_START")){
            $start = LUMEN_START;
        } else {
            $start = microtime(true);
        }
        $this->request = $request;

        /** @var IlluminateHttpResponse $response */
        $response = $next($request);

        $route_name = $this->getRouteName();
        $method = $request->getMethod();
        $status = $response->getStatusCode();

        $duration = microtime(true) - $start;
        $duration_milliseconds = $duration * 1000.0;
        $this->countRequest($route_name, $method, $status, $duration_milliseconds);

        $this->initRequestMetrics($method, $status);

        return $response;
    }

    public function getRouteName(){
        return request()->getRequestUri();
    }


    public function initRequestMetrics($method, $status)
    {
        $namespace = config("prometheus_exporter.namespace_http_server");

        $labelNames = $this->getRequestCounterLabelNames();

        $name = "request_wuc";
        $help = "http_requests count";
        $counter = $this->registry->getOrRegisterCounter(
            $namespace, $name, $help, $labelNames
        );

        $counter->incBy(1, [$this->getRouteName(), $method, $status]);
    }
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/30923.html

相關(guān)文章

  • 容器監(jiān)控實(shí)踐—Prometheus基本架構(gòu)

    摘要:根據(jù)配置文件,對接收到的警報進(jìn)行處理,發(fā)出告警。在默認(rèn)情況下,用戶只需要部署多套,采集相同的即可實(shí)現(xiàn)基本的。通過將監(jiān)控與數(shù)據(jù)分離,能夠更好地進(jìn)行彈性擴(kuò)展。參考文檔本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見 系統(tǒng)架構(gòu)圖 1.x版本的Prometheus的架構(gòu)圖為:showImg(https://segmentfault.com/img/remote/1460000018372350?w=14...

    gghyoo 評論0 收藏0
  • 容器監(jiān)控實(shí)踐—Prometheus基本架構(gòu)

    摘要:根據(jù)配置文件,對接收到的警報進(jìn)行處理,發(fā)出告警。在默認(rèn)情況下,用戶只需要部署多套,采集相同的即可實(shí)現(xiàn)基本的。通過將監(jiān)控與數(shù)據(jù)分離,能夠更好地進(jìn)行彈性擴(kuò)展。參考文檔本文為容器監(jiān)控實(shí)踐系列文章,完整內(nèi)容見 系統(tǒng)架構(gòu)圖 1.x版本的Prometheus的架構(gòu)圖為:showImg(https://segmentfault.com/img/remote/1460000018372350?w=14...

    elina 評論0 收藏0
  • Laravel教程: 3分鐘實(shí)現(xiàn)小程序微信支付接入(上)——喚起支付

    摘要:微信支付的接入,如果不使用成熟的開發(fā)包,將是巨大的工作量?;卣{(diào)處理請見下文教程分鐘實(shí)現(xiàn)小程序微信支付接入下回調(diào)發(fā)貨邏輯已知異常如果你不添加,可能會報容器找不到這個應(yīng)用的報錯。 微信支付的接入,如果不使用成熟的開發(fā)包,將是巨大的工作量。 依賴 EasyWechat 先在 laravel 項(xiàng)目中依賴 easywechat 這個包 composer require overtrue/lara...

    Miracle_lihb 評論0 收藏0
  • 美團(tuán)點(diǎn)評攜手 PingCAP 開啟新一代數(shù)據(jù)庫深度實(shí)踐之旅

    摘要:一背景和現(xiàn)狀在美團(tuán),基于構(gòu)建的傳統(tǒng)關(guān)系型數(shù)據(jù)庫服務(wù)已經(jīng)難于支撐公司業(yè)務(wù)的爆發(fā)式增長,促使我們?nèi)ヌ剿鞲侠淼臄?shù)據(jù)存儲方案和實(shí)踐新的運(yùn)維方式。隨著近一兩年來分布式數(shù)據(jù)庫大放異彩,美團(tuán)團(tuán)隊(duì)聯(lián)合架構(gòu)存儲團(tuán)隊(duì),于年初啟動了分布式數(shù)據(jù)庫項(xiàng)目。 一、背景和現(xiàn)狀 在美團(tuán),基于 MySQL 構(gòu)建的傳統(tǒng)關(guān)系型數(shù)據(jù)庫服務(wù)已經(jīng)難于支撐公司業(yè)務(wù)的爆發(fā)式增長,促使我們?nèi)ヌ剿鞲侠淼臄?shù)據(jù)存儲方案和實(shí)踐新的運(yùn)維方式。...

    gclove 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<