首页 > 编程语言 >Elastic.Apm 源码解析

Elastic.Apm 源码解析

时间:2022-09-03 14:47:48浏览次数:84  
标签:distributedTracingData Elastic Apm 源码 Activity trace new Tracer

源码中有如下 sample:

 1 var distributedTracingData = DistributedTracingData.TryDeserializeFromString(args[0]);
 2 
 3 WriteLineToConsole($"Callee process started - continuing trace with distributed tracing data: {distributedTracingData}");
 4 var transaction2 = Agent.Tracer.StartTransaction("Transaction2", "TestTransaction", distributedTracingData);
 5 
 6 try
 7 {
 8     transaction2.CaptureSpan("TestSpan", "TestSpanType", () => Thread.Sleep(200));
 9 }
10 finally
11 {
12     transaction2.End();
13 }
Agent.Tracer 这个是静态字段,public static ITracer Tracer => Instance.Tracer;
整个 Agent 就是一个静态类
Instance实际上是个单例,就是 new ApmAgent(Components)
这个里面的 Trace 又到了 AgentComponents里
这个
trace 这样new
TracerInternal = new Tracer(Logger, Service, PayloadSender, ConfigurationStore, currentExecutionSegmentsContainer ?? new CurrentExecutionSegmentsContainer(), ApmServerInfo, breakdownMetricsProvider);

最后这个 trace 执行start 的时候 会 new 一个 Transaction, 之后会用到 Activity

这个里面的 StartActivity() 会 把这Activity.start()这会设置Activity.Curent

 

 


标签:distributedTracingData,Elastic,Apm,源码,Activity,trace,new,Tracer
From: https://www.cnblogs.com/qgbo/p/16652556.html

相关文章

  • Elasticsearch 面试题
    Elasticsearch面试题为什么要使用Elasticsearch?系统中的数据,随着业务的发展,时间的推移,将会非常多,而业务中往往采用模糊查询进行数据的搜索,而模糊查询会导致查询引擎......
  • java实现单链表源码
    packageMyLink.MySingleLink;importjava.util.Objects;/***单链表结点类**/publicclassNode{/***数据域**/privateObjectdate;/**......
  • Elasticsearch
    Elasticsearch什么是ElasticsearchElasticsearch、Kibana、Beats和LogstashES是一个开源的高扩展的分布式全文搜索引擎全文搜索引擎这里说到的全文搜索引擎指的是......
  • 二、 Axios入门——Axios源码分析
    一、axios与Axios的关系从语法上来说:axios不是Axios的实例从功能上来说:axios是Axios的实例axios是Axios.prototype.request函数bind()返回的函......
  • Elasticsearch 查询 UV
    ES聚合指标value_count:计数cardinality:去重计数avg:平均值sum:求和max:最大值min:最小值percentiles:百分比top_hits:简单来说就是聚合分组后从每一个......
  • .net core系列源码地址
    .netcore独立模块源码:https://github.com/aspnet.netcore全家桶源码:https://github.com/dotnet/aspnetcore.netcore拓展库源码:https://github.com/dotnet/ext......
  • WordPress美女图集COS写真整站自适应网站源码带完整数据
    这是自己做的网站,因为自己要做别的业务,没有时间打理,而且放着也是放着,不如拿来分享给大家,这个资源非常火爆,用来引流还是很轻松的。 网站从服务器备份了下来,所以有完整......
  • ElasticSearch 分组聚合统计
    统计总数:GETmytest-statistics/_search{"size":0,"query":{"bool":{"must":[{"range":{"day":{......
  • Python源码学习-Objects类型
    目录简介类型定义类型对象对象操作缓存池本文基于Python3.10.4。简介在python中,有两种类型可以保存bytes(字节)类型的数据。分别是bytes与bytearray。其中bytearray支持修......
  • 直播带货源码,简单实现商品倒计时开卖功能
    直播带货源码,简单实现商品倒计时开卖功能 publicclassChronometerActivityextendsAppCompatActivity{  privatestaticfinalStringTAG="ChronometerActiv......