欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang中gRPC內(nèi)置Trace的實現(xiàn)

 更新時間:2025年03月03日 10:46:41   作者:兩片空白  
gRPC內(nèi)置了基于golang.org/x/net/trace包的客戶端和服務端請求追蹤,默認開啟狀態(tài),可以查看事件和請求日志,幫助調(diào)試,具有一定的參考價值,感興趣的可以了解一下

gRPC內(nèi)置了客戶端和服務端的請求追蹤,基于golang.org/x/net/trace包實現(xiàn),默認是開啟狀態(tài),可以查看事件和請求日志,對于基本的請求狀態(tài)查看調(diào)試也是很有幫助的,客戶端與服務端基本一致,這里以服務端開啟trace server為例,代碼如下。

目錄結構

代碼

  • 服務端
package main

import (
	"context"
	"fmt"
	"log"
	"net"
	"net/http"
	hello "sample-app/grpc/proto"

	"golang.org/x/net/trace"
	"google.golang.org/grpc"
)

// gprc服務器地址
var Addr = "127.0.0.1:8080"

// 定義結構 實現(xiàn)約定接口
type helloService struct{}

// 服務
var HelloService = helloService{}

// 實現(xiàn)服務接口
func (h helloService) SayHello(c context.Context, req *hello.HelloRequest) (*hello.HelloResponse, error) {
	resp := new(hello.HelloResponse)
	resp.Message = fmt.Sprintf("Hello %s", req.Name)

	return resp, nil
}

func init() {
	//使用trace
	grpc.EnableTracing = true
}

func main() {
	ls, err := net.Listen("tcp", Addr)
	if err != nil {
		fmt.Println(err)
		return
	}
	//實例化grpc server
	server := grpc.NewServer()
	//注冊HelloService
	hello.RegisterHelloServer(server, HelloService)
	//開啟trace
	go startTrace()

	fmt.Println("Listen on " + Addr)
	server.Serve(ls)
}

func startTrace() {
	trace.AuthRequest = func(req *http.Request) (any, sensitive bool) {
		return true, true
	}

	go http.ListenAndServe(":8081", nil)
	log.Println("trace listen on 8081")
}

這里我們開啟一個http服務監(jiān)聽8081端口,用來查看grpc請求的trace信息。

運行:

  • 客戶端
package main

import (
	"context"
	"fmt"
	hello "sample-app/grpc/proto"

	"google.golang.org/grpc"
)

const (
	Addr = "127.0.0.1:8080"
)

func main() {
	conn, err := grpc.Dial(Addr, grpc.WithInsecure())
	if err != nil {
		fmt.Println("Dial fail", err)
		return
	}
	defer conn.Close()
	//初始化服務器
	c := hello.NewHelloClient(conn)
	//單項請求
	req := new(hello.HelloRequest)
	req.Name = "gRPC"
	resp, err := c.SayHello(context.Background(), req)
	if err != nil {
		fmt.Println("say hello fail", err)
		return
	}
	fmt.Println(resp.Message)
}
  • 請求

服務器事件查看

訪問:localhost:8081/debug/events,結果如圖所示:

可以看到服務端注冊的服務和服務正常啟動的事件信息。

請求日志信息查看

訪問:localhost:8081/debug/requests

這里可以顯示最近的請求狀態(tài),包括請求的服務,參數(shù),耗時,響應,對于簡單的狀態(tài)查看還是很方便,默認顯示最近10條記錄。

到此這篇關于Golang中gRPC內(nèi)置Trace的實現(xiàn)的文章就介紹到這了,更多相關Golang gRPC內(nèi)置Trace內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • golang利用函數(shù)閉包實現(xiàn)簡單的中間件

    golang利用函數(shù)閉包實現(xiàn)簡單的中間件

    中間件設計模式是一種常見的軟件設計模式,它在許多編程語言和框架中被廣泛應用,這篇文章主要為大家介紹一下golang利用函數(shù)閉包實現(xiàn)一個簡單的中間件,感興趣的可以了解下
    2023-10-10
  • golang post請求常用的幾種方式小結

    golang post請求常用的幾種方式小結

    這篇文章主要介紹了golang post請求常用的幾種方式小結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Go語言實現(xiàn)IP段范圍校驗示例

    Go語言實現(xiàn)IP段范圍校驗示例

    這篇文章主要介紹了Go語言實現(xiàn)IP段范圍校驗示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Golang Map value不可尋址使用指針類型代替示例詳解

    Golang Map value不可尋址使用指針類型代替示例詳解

    這篇文章主要為大家介紹了Golang Map value不可尋址使用指針類型代替示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 一文搞懂Golang 時間和日期相關函數(shù)

    一文搞懂Golang 時間和日期相關函數(shù)

    這篇文章主要介紹了Golang 時間和日期相關函數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • Go語言Handler詳細說明

    Go語言Handler詳細說明

    這篇文章主要介紹了Go語言Handler詳細說明,Handler用于處理請求并給予響應。更嚴格地說,用來讀取請求體、并將請求對應的響應字段(respones header)寫入ResponseWriter中,需要的朋友可以參考下
    2022-04-04
  • sublime安裝支持go和html的插件

    sublime安裝支持go和html的插件

    這篇文章主要介紹了sublime安裝支持go和html的插件,需要的朋友可以參考下
    2015-01-01
  • Golang unsafe包中的類型和函數(shù)詳解

    Golang unsafe包中的類型和函數(shù)詳解

    Golang中的unsafe包用于在運行時進行低級別的操作,這些操作通常是不安全的,因為可以打破Golang的類型安全性和內(nèi)存安全性,使用 unsafe包的程序可能會影響可移植性和兼容性,接下來看下unsafe包中的類型和函數(shù)
    2023-08-08
  • 使用Go語言實現(xiàn)發(fā)送HTTP請求并給GET添加參數(shù)

    使用Go語言實現(xiàn)發(fā)送HTTP請求并給GET添加參數(shù)

    在開發(fā)Web應用程序時,我們經(jīng)常需要向服務器發(fā)送HTTP請求,本文將介紹一下使用Go語言發(fā)送HTTP請求,并給GET請求添加參數(shù)的方法,感興趣的小伙伴可以了解一下
    2023-07-07
  • 定位并修復 Go 中的內(nèi)存泄露問題

    定位并修復 Go 中的內(nèi)存泄露問題

    Go 是一門帶 GC 的語言,這篇文章回顧了我如何發(fā)現(xiàn)內(nèi)存泄漏、如何修復它,以及我如何修復 Google 示例 Go 代碼中的類似問題,以及我們?nèi)绾胃倪M我們的庫以防止將來發(fā)生這種情況,感興趣的朋友一起看看吧
    2021-10-10

最新評論