调用GetTrace接口获取调用链详情。

说明 Java SDK需更新至版本v2.7.24。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String GetTrace

系统规定参数。取值:GetTrace

TraceID String ac14001a15954493811405707d****

调用链ID。可在ARMS控制台的调用链路查询页面或接口快照页面获取。

RegionId String cn-hangzhou

地域ID。

StartTime Long 1623827602000

开始时间的时间戳,精确到毫秒。

说明 若TraceID长度为30,可不填;若TraceID长度不是30,则必填。
EndTime Long 1623827603000

结束时间的时间戳,精确到毫秒。

说明 若TraceID长度为30,可不填;若TraceID长度不是30,则必填。

返回数据

名称 类型 示例值 描述
RequestId String 6A9AEA84-7186-4D8D-B498-4585C6A2****

请求ID。

Spans Array of Span

调用链路详细信息。

SpanId String 1234

Span ID。

OperationName String /api/demo

埋点的接口名称。

ResultCode String 222

返回码。

Timestamp Long 1590388651

Span的产生时间戳。

RpcType Integer 1

RPC类型。

ServiceIp String 172.20.XX.XX

应用所在机器的IP地址。

HaveStack Boolean false

是否有方法栈:

  • true:有方法栈。
  • false:没有方法栈。
ParentSpanId String 18

父Span ID。

Duration Long 1000

调用链路耗时,单位为毫秒。

RpcId String 0

RPC ID。

ServiceName String arms-demo

应用名称。

TraceID String ac14001a15954493811405707d****

调用链路ID。

TagEntryList Array of TagEntry

调用链路的Tag列表。

Key String http.status.code

Tag的键。

Value String 200

Tag的值。

LogEventList Array of LogEvent

调用链路中的日志事件。

Timestamp Long 1590388651

日志事件的产生时间戳。

TagEntryList Array of TagEntry

调用链路的Tag列表。

Key String http.status.code

Tag的键。

Value String 200

Tag的值。

Children Array of Object [ { "ParentSpanId":"c33603355032xxxx", "ServiceIp":"10.208.xxx.xxx", "OperationName":"/product/toy/8ac7ddeb-1c3c-4911-850c-665a5a0xxxx", "RpcType":0, "Duration":2, "TagEntryList":[ { "Value":"10.208.0.xxx", "Key":"source.ip" } ], "Timestamp":1652669026201, "HaveStack":true, "LogEventList":[ ], "ServiceName":"xxxxxx", "RpcId":"0.2", "TraceID":"ea1ad000a1165266902619685xxxxx", "Children":[ ], "ResultCode":"0", "SpanId":"7069ab30d7cbxxxx" } ]

子Span详情。

示例

请求示例

http(s)://[Endpoint]/?Action=GetTrace
&TraceID=ac14001a15954493811405707d****
&RegionId=cn-hangzhou
&StartTime=1623827602000
&EndTime=1623827603000
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<GetTraceResponse>
    <RequestId>6A9AEA84-7186-4D8D-B498-4585C6A2****</RequestId>
    <Spans>
        <SpanId>1234</SpanId>
        <OperationName>/api/demo</OperationName>
        <ResultCode>222</ResultCode>
        <Timestamp>1590388651</Timestamp>
        <RpcType>1</RpcType>
        <ServiceIp>172.20.XX.XX</ServiceIp>
        <HaveStack>false</HaveStack>
        <ParentSpanId>18</ParentSpanId>
        <Duration>1000</Duration>
        <RpcId>0</RpcId>
        <ServiceName>arms-demo</ServiceName>
        <TraceID>ac14001a15954493811405707d****</TraceID>
        <TagEntryList>
            <Key>http.status.code</Key>
            <Value>200</Value>
        </TagEntryList>
        <LogEventList>
            <Timestamp>1590388651</Timestamp>
            <TagEntryList>
                <Key>http.status.code</Key>
                <Value>200</Value>
            </TagEntryList>
        </LogEventList>
        <Children/>
    </Spans>
</GetTraceResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "6A9AEA84-7186-4D8D-B498-4585C6A2****",
  "Spans" : [ {
    "SpanId" : "1234",
    "OperationName" : "/api/demo",
    "ResultCode" : "222",
    "Timestamp" : 1590388651,
    "RpcType" : 1,
    "ServiceIp" : "172.20.XX.XX",
    "HaveStack" : false,
    "ParentSpanId" : "18",
    "Duration" : 1000,
    "RpcId" : "0",
    "ServiceName" : "arms-demo",
    "TraceID" : "ac14001a15954493811405707d****",
    "TagEntryList" : [ {
      "Key" : "http.status.code",
      "Value" : "200"
    } ],
    "LogEventList" : [ {
      "Timestamp" : 1590388651,
      "TagEntryList" : [ {
        "Key" : "http.status.code",
        "Value" : "200"
      } ]
    } ],
    "Children" : [ null ]
  } ]
}