py zipkin原始碼分析(1)

2021-10-06 23:05:32 字數 370 閱讀 8526

1 新增root_span原理

只要傳zipkin_attrs或者設定取樣率,則認為是root_span,此時,可以利用zipkinloggingcontext,傳送儲存在tracer/span_storage中的span

2 新增子span原理

利用with上下文管理,每執行一次上下文,則在start的時候push儲存上下文,退出時pop上下文,這樣只要基於父上下文,就能根據父span新建子span

2 多執行緒和協程

通過localthread獲取的已經是另外乙個執行緒了,因此需要在新建執行緒之前,見父執行緒的context和span_storage傳遞給子執行緒,

同時新增子span,子執行緒只負責傳送header,而父執行緒做span管理。

cvDilate 原始碼分析 1

在cv.h檔案中對cvdilate的定義如下 cvapi void cvdilate const cvarr src,cvarr dst,iplconvkernel element cv default null int iterations cv default 1 iplconvkernel 指...

leveldb原始碼分析1

leveldb是乙個key value型的儲存引擎,由google開發,並宣布在bsd許可下開放源 plain git clone plain cd leveldb make all 此時生成libleveldb.a庫檔案。拷貝leveldb的標頭檔案到 usr include下 plain cp ...

Leveldb原始碼分析 1

前言 看了一點oceanbase,沒有意志力繼續堅持下去了,暫時就此中斷,基本上算把master看完了,比較重要的update server和merge server 卻沒有細看。中間又陸續研究了hadoop的原始碼,主要是name node和寫入pipeline。主要的目的是想看看name nod...