序 本文主要研究一下tempodb的Pool Pool tempo/tempodb/pool/pool.go type Pool struct { cfg *Config size * workQueue chan *job shutdownCh chan struct{} } Pool定义了cfg、size、workQueue、shutdownCh属性 job tempo/tempodb job定义了ctx、cancel、payload、JobFunc、wg、resultsCh、stop、err属性;JobFunc接收payload,返回[]byte类型的结果 Config tempo/tempodb Config可以指定MaxWorkers、QueueDepth两个属性;defaultConfig默认的配置是MaxWorkers为30,QueueDepth为10000 NewPool tempo/tempodb } NewPool根据Config创建Pool,同时根据cfg.MaxWorkers启动对应个数的p.worker(q),然后执行p.reportQueueLength() worker tempo/tempodb
序 本文主要研究一下tempodb的Pool grafana_tempo_logo_gradient.png Pool tempo/tempodb/pool/pool.go type Pool struct workQueue chan *job shutdownCh chan struct{} } Pool定义了cfg、size、workQueue、shutdownCh属性 job tempo/tempodb 定义了ctx、cancel、payload、JobFunc、wg、resultsCh、stop、err属性;JobFunc接收payload,返回[]byte类型的结果 Config tempo/tempodb Config可以指定MaxWorkers、QueueDepth两个属性;defaultConfig默认的配置是MaxWorkers为30,QueueDepth为10000 NewPool tempo/tempodb NewPool根据Config创建Pool,同时根据cfg.MaxWorkers启动对应个数的p.worker(q),然后执行p.reportQueueLength() worker tempo/tempodb
预聚合和后端路由等工作 存储 Jaeger配备了简单的内存存储用于测试设置,并支持两种流行的开源NoSQL数据库作为tracing存储后端(上文中有提到),在查询性能上会受限 Grafana Tempo有自己的定制TempoDB 来存储tracing数据,TempoDB支持S3、GCS、Azure、本地文件系统,还可以选择使用Memcached或Redis来提高查询性能 可视化 在可视化层方面,Grafana Tempo更有优势
创立时间:2012年 融资情况:获得670万美元投资 竞争对手:包括大品牌如Staples Connect和创业公司SmartThings(已经被三星以2亿美元的价格收购) 九、TempoDB ?