Browse Source

Add api for getTrace and searchTracelist.

sdk-team 6 năm trước cách đây
mục cha
commit
7adaa4e172

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-08-30 Version: 1.60.127
+- Add api for getTrace and searchTracelist.
+
 2019-08-29 Version: 1.60.126
 - Move StopExecution params to body.
 

+ 129 - 0
services/xtrace/client.go

@@ -0,0 +1,129 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"reflect"
+
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	SetEndpointDataToClient(client)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	SetEndpointDataToClient(client)
+	return
+}

+ 20 - 0
services/xtrace/endpoint.go

@@ -0,0 +1,20 @@
+package xtrace
+
+// EndpointMap Endpoint Data
+var EndpointMap map[string]string
+
+// EndpointType regional or central
+var EndpointType = "regional"
+
+// GetEndpointMap Get Endpoint Data Map
+func GetEndpointMap() map[string]string {
+	if EndpointMap == nil {
+		EndpointMap = map[string]string{}
+	}
+	return EndpointMap
+}
+
+// GetEndpointType Get Endpoint Type Value
+func GetEndpointType() string {
+	return EndpointType
+}

+ 107 - 0
services/xtrace/get_tag_key.go

@@ -0,0 +1,107 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetTagKey invokes the xtrace.GetTagKey API synchronously
+// api document: https://help.aliyun.com/api/xtrace/gettagkey.html
+func (client *Client) GetTagKey(request *GetTagKeyRequest) (response *GetTagKeyResponse, err error) {
+	response = CreateGetTagKeyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetTagKeyWithChan invokes the xtrace.GetTagKey API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/gettagkey.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTagKeyWithChan(request *GetTagKeyRequest) (<-chan *GetTagKeyResponse, <-chan error) {
+	responseChan := make(chan *GetTagKeyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetTagKey(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetTagKeyWithCallback invokes the xtrace.GetTagKey API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/gettagkey.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTagKeyWithCallback(request *GetTagKeyRequest, callback func(response *GetTagKeyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetTagKeyResponse
+		var err error
+		defer close(result)
+		response, err = client.GetTagKey(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetTagKeyRequest is the request struct for api GetTagKey
+type GetTagKeyRequest struct {
+	*requests.RpcRequest
+	EndTime     requests.Integer `position:"Query" name:"EndTime"`
+	ServiceName string           `position:"Query" name:"ServiceName"`
+	StartTime   requests.Integer `position:"Query" name:"StartTime"`
+	SpanName    string           `position:"Query" name:"SpanName"`
+}
+
+// GetTagKeyResponse is the response struct for api GetTagKey
+type GetTagKeyResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	TagKeys   TagKeys `json:"TagKeys" xml:"TagKeys"`
+}
+
+// CreateGetTagKeyRequest creates a request to invoke GetTagKey API
+func CreateGetTagKeyRequest() (request *GetTagKeyRequest) {
+	request = &GetTagKeyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("xtrace", "2019-08-08", "GetTagKey", "xtrace", "openAPI")
+	return
+}
+
+// CreateGetTagKeyResponse creates a response to parse from GetTagKey response
+func CreateGetTagKeyResponse() (response *GetTagKeyResponse) {
+	response = &GetTagKeyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/xtrace/get_tag_val.go

@@ -0,0 +1,108 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetTagVal invokes the xtrace.GetTagVal API synchronously
+// api document: https://help.aliyun.com/api/xtrace/gettagval.html
+func (client *Client) GetTagVal(request *GetTagValRequest) (response *GetTagValResponse, err error) {
+	response = CreateGetTagValResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetTagValWithChan invokes the xtrace.GetTagVal API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/gettagval.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTagValWithChan(request *GetTagValRequest) (<-chan *GetTagValResponse, <-chan error) {
+	responseChan := make(chan *GetTagValResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetTagVal(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetTagValWithCallback invokes the xtrace.GetTagVal API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/gettagval.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTagValWithCallback(request *GetTagValRequest, callback func(response *GetTagValResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetTagValResponse
+		var err error
+		defer close(result)
+		response, err = client.GetTagVal(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetTagValRequest is the request struct for api GetTagVal
+type GetTagValRequest struct {
+	*requests.RpcRequest
+	EndTime     requests.Integer `position:"Query" name:"EndTime"`
+	ServiceName string           `position:"Query" name:"ServiceName"`
+	StartTime   requests.Integer `position:"Query" name:"StartTime"`
+	TagKey      string           `position:"Query" name:"TagKey"`
+	SpanName    string           `position:"Query" name:"SpanName"`
+}
+
+// GetTagValResponse is the response struct for api GetTagVal
+type GetTagValResponse struct {
+	*responses.BaseResponse
+	RequestId string    `json:"RequestId" xml:"RequestId"`
+	TagValues TagValues `json:"TagValues" xml:"TagValues"`
+}
+
+// CreateGetTagValRequest creates a request to invoke GetTagVal API
+func CreateGetTagValRequest() (request *GetTagValRequest) {
+	request = &GetTagValRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("xtrace", "2019-08-08", "GetTagVal", "xtrace", "openAPI")
+	return
+}
+
+// CreateGetTagValResponse creates a response to parse from GetTagVal response
+func CreateGetTagValResponse() (response *GetTagValResponse) {
+	response = &GetTagValResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/xtrace/get_token.go

@@ -0,0 +1,104 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetToken invokes the xtrace.GetToken API synchronously
+// api document: https://help.aliyun.com/api/xtrace/gettoken.html
+func (client *Client) GetToken(request *GetTokenRequest) (response *GetTokenResponse, err error) {
+	response = CreateGetTokenResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetTokenWithChan invokes the xtrace.GetToken API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/gettoken.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTokenWithChan(request *GetTokenRequest) (<-chan *GetTokenResponse, <-chan error) {
+	responseChan := make(chan *GetTokenResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetToken(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetTokenWithCallback invokes the xtrace.GetToken API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/gettoken.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTokenWithCallback(request *GetTokenRequest, callback func(response *GetTokenResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetTokenResponse
+		var err error
+		defer close(result)
+		response, err = client.GetToken(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetTokenRequest is the request struct for api GetToken
+type GetTokenRequest struct {
+	*requests.RpcRequest
+	AppType string `position:"Query" name:"AppType"`
+}
+
+// GetTokenResponse is the response struct for api GetToken
+type GetTokenResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Token     Token  `json:"Token" xml:"Token"`
+}
+
+// CreateGetTokenRequest creates a request to invoke GetToken API
+func CreateGetTokenRequest() (request *GetTokenRequest) {
+	request = &GetTokenRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("xtrace", "2019-08-08", "GetToken", "xtrace", "openAPI")
+	return
+}
+
+// CreateGetTokenResponse creates a response to parse from GetToken response
+func CreateGetTokenResponse() (response *GetTokenResponse) {
+	response = &GetTokenResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/xtrace/get_trace.go

@@ -0,0 +1,105 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// GetTrace invokes the xtrace.GetTrace API synchronously
+// api document: https://help.aliyun.com/api/xtrace/gettrace.html
+func (client *Client) GetTrace(request *GetTraceRequest) (response *GetTraceResponse, err error) {
+	response = CreateGetTraceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetTraceWithChan invokes the xtrace.GetTrace API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/gettrace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTraceWithChan(request *GetTraceRequest) (<-chan *GetTraceResponse, <-chan error) {
+	responseChan := make(chan *GetTraceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetTrace(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetTraceWithCallback invokes the xtrace.GetTrace API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/gettrace.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTraceWithCallback(request *GetTraceRequest, callback func(response *GetTraceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetTraceResponse
+		var err error
+		defer close(result)
+		response, err = client.GetTrace(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetTraceRequest is the request struct for api GetTrace
+type GetTraceRequest struct {
+	*requests.RpcRequest
+	TraceID string `position:"Query" name:"TraceID"`
+	AppType string `position:"Query" name:"AppType"`
+}
+
+// GetTraceResponse is the response struct for api GetTrace
+type GetTraceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Spans     Spans  `json:"Spans" xml:"Spans"`
+}
+
+// CreateGetTraceRequest creates a request to invoke GetTrace API
+func CreateGetTraceRequest() (request *GetTraceRequest) {
+	request = &GetTraceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("xtrace", "2019-08-08", "GetTrace", "xtrace", "openAPI")
+	return
+}
+
+// CreateGetTraceResponse creates a response to parse from GetTrace response
+func CreateGetTraceResponse() (response *GetTraceResponse) {
+	response = &GetTraceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/xtrace/list_ip_or_hosts.go

@@ -0,0 +1,106 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListIpOrHosts invokes the xtrace.ListIpOrHosts API synchronously
+// api document: https://help.aliyun.com/api/xtrace/listiporhosts.html
+func (client *Client) ListIpOrHosts(request *ListIpOrHostsRequest) (response *ListIpOrHostsResponse, err error) {
+	response = CreateListIpOrHostsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListIpOrHostsWithChan invokes the xtrace.ListIpOrHosts API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/listiporhosts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListIpOrHostsWithChan(request *ListIpOrHostsRequest) (<-chan *ListIpOrHostsResponse, <-chan error) {
+	responseChan := make(chan *ListIpOrHostsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListIpOrHosts(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListIpOrHostsWithCallback invokes the xtrace.ListIpOrHosts API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/listiporhosts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListIpOrHostsWithCallback(request *ListIpOrHostsRequest, callback func(response *ListIpOrHostsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListIpOrHostsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListIpOrHosts(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListIpOrHostsRequest is the request struct for api ListIpOrHosts
+type ListIpOrHostsRequest struct {
+	*requests.RpcRequest
+	EndTime     requests.Integer `position:"Query" name:"EndTime"`
+	ServiceName string           `position:"Query" name:"ServiceName"`
+	StartTime   requests.Integer `position:"Query" name:"StartTime"`
+}
+
+// ListIpOrHostsResponse is the response struct for api ListIpOrHosts
+type ListIpOrHostsResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	IpNames   IpNames `json:"IpNames" xml:"IpNames"`
+}
+
+// CreateListIpOrHostsRequest creates a request to invoke ListIpOrHosts API
+func CreateListIpOrHostsRequest() (request *ListIpOrHostsRequest) {
+	request = &ListIpOrHostsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("xtrace", "2019-08-08", "ListIpOrHosts", "xtrace", "openAPI")
+	return
+}
+
+// CreateListIpOrHostsResponse creates a response to parse from ListIpOrHosts response
+func CreateListIpOrHostsResponse() (response *ListIpOrHostsResponse) {
+	response = &ListIpOrHostsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/xtrace/list_services.go

@@ -0,0 +1,104 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListServices invokes the xtrace.ListServices API synchronously
+// api document: https://help.aliyun.com/api/xtrace/listservices.html
+func (client *Client) ListServices(request *ListServicesRequest) (response *ListServicesResponse, err error) {
+	response = CreateListServicesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListServicesWithChan invokes the xtrace.ListServices API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/listservices.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListServicesWithChan(request *ListServicesRequest) (<-chan *ListServicesResponse, <-chan error) {
+	responseChan := make(chan *ListServicesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListServices(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListServicesWithCallback invokes the xtrace.ListServices API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/listservices.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListServicesWithCallback(request *ListServicesRequest, callback func(response *ListServicesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListServicesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListServices(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListServicesRequest is the request struct for api ListServices
+type ListServicesRequest struct {
+	*requests.RpcRequest
+	AppType string `position:"Query" name:"AppType"`
+}
+
+// ListServicesResponse is the response struct for api ListServices
+type ListServicesResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	Services  Services `json:"Services" xml:"Services"`
+}
+
+// CreateListServicesRequest creates a request to invoke ListServices API
+func CreateListServicesRequest() (request *ListServicesRequest) {
+	request = &ListServicesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("xtrace", "2019-08-08", "ListServices", "xtrace", "openAPI")
+	return
+}
+
+// CreateListServicesResponse creates a response to parse from ListServices response
+func CreateListServicesResponse() (response *ListServicesResponse) {
+	response = &ListServicesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/xtrace/list_span_names.go

@@ -0,0 +1,106 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ListSpanNames invokes the xtrace.ListSpanNames API synchronously
+// api document: https://help.aliyun.com/api/xtrace/listspannames.html
+func (client *Client) ListSpanNames(request *ListSpanNamesRequest) (response *ListSpanNamesResponse, err error) {
+	response = CreateListSpanNamesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListSpanNamesWithChan invokes the xtrace.ListSpanNames API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/listspannames.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListSpanNamesWithChan(request *ListSpanNamesRequest) (<-chan *ListSpanNamesResponse, <-chan error) {
+	responseChan := make(chan *ListSpanNamesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListSpanNames(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListSpanNamesWithCallback invokes the xtrace.ListSpanNames API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/listspannames.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListSpanNamesWithCallback(request *ListSpanNamesRequest, callback func(response *ListSpanNamesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListSpanNamesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListSpanNames(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListSpanNamesRequest is the request struct for api ListSpanNames
+type ListSpanNamesRequest struct {
+	*requests.RpcRequest
+	EndTime     requests.Integer `position:"Query" name:"EndTime"`
+	ServiceName string           `position:"Query" name:"ServiceName"`
+	StartTime   requests.Integer `position:"Query" name:"StartTime"`
+}
+
+// ListSpanNamesResponse is the response struct for api ListSpanNames
+type ListSpanNamesResponse struct {
+	*responses.BaseResponse
+	RequestId string    `json:"RequestId" xml:"RequestId"`
+	SpanNames SpanNames `json:"SpanNames" xml:"SpanNames"`
+}
+
+// CreateListSpanNamesRequest creates a request to invoke ListSpanNames API
+func CreateListSpanNamesRequest() (request *ListSpanNamesRequest) {
+	request = &ListSpanNamesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("xtrace", "2019-08-08", "ListSpanNames", "xtrace", "openAPI")
+	return
+}
+
+// CreateListSpanNamesResponse creates a response to parse from ListSpanNames response
+func CreateListSpanNamesResponse() (response *ListSpanNamesResponse) {
+	response = &ListSpanNamesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 120 - 0
services/xtrace/search_traces.go

@@ -0,0 +1,120 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// SearchTraces invokes the xtrace.SearchTraces API synchronously
+// api document: https://help.aliyun.com/api/xtrace/searchtraces.html
+func (client *Client) SearchTraces(request *SearchTracesRequest) (response *SearchTracesResponse, err error) {
+	response = CreateSearchTracesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SearchTracesWithChan invokes the xtrace.SearchTraces API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/searchtraces.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchTracesWithChan(request *SearchTracesRequest) (<-chan *SearchTracesResponse, <-chan error) {
+	responseChan := make(chan *SearchTracesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SearchTraces(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SearchTracesWithCallback invokes the xtrace.SearchTraces API asynchronously
+// api document: https://help.aliyun.com/api/xtrace/searchtraces.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SearchTracesWithCallback(request *SearchTracesRequest, callback func(response *SearchTracesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SearchTracesResponse
+		var err error
+		defer close(result)
+		response, err = client.SearchTraces(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SearchTracesRequest is the request struct for api SearchTraces
+type SearchTracesRequest struct {
+	*requests.RpcRequest
+	ServiceIp     string             `position:"Query" name:"ServiceIp"`
+	OperationName string             `position:"Query" name:"OperationName"`
+	AppType       string             `position:"Query" name:"AppType"`
+	PageSize      requests.Integer   `position:"Query" name:"PageSize"`
+	EndTime       requests.Integer   `position:"Query" name:"EndTime"`
+	ServiceName   string             `position:"Query" name:"ServiceName"`
+	StartTime     requests.Integer   `position:"Query" name:"StartTime"`
+	Tag           *[]SearchTracesTag `position:"Query" name:"Tag"  type:"Repeated"`
+	Reverse       requests.Boolean   `position:"Query" name:"Reverse"`
+	MinDuration   requests.Integer   `position:"Query" name:"MinDuration"`
+	PageNumber    requests.Integer   `position:"Query" name:"PageNumber"`
+}
+
+// SearchTracesTag is a repeated param struct in SearchTracesRequest
+type SearchTracesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// SearchTracesResponse is the response struct for api SearchTraces
+type SearchTracesResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	PageBean  PageBean `json:"PageBean" xml:"PageBean"`
+}
+
+// CreateSearchTracesRequest creates a request to invoke SearchTraces API
+func CreateSearchTracesRequest() (request *SearchTracesRequest) {
+	request = &SearchTracesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("xtrace", "2019-08-08", "SearchTraces", "xtrace", "openAPI")
+	return
+}
+
+// CreateSearchTracesResponse creates a response to parse from SearchTraces response
+func CreateSearchTracesResponse() (response *SearchTracesResponse) {
+	response = &SearchTracesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 21 - 0
services/xtrace/struct_ip_names.go

@@ -0,0 +1,21 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// IpNames is a nested struct in xtrace response
+type IpNames struct {
+	IpName []string `json:"IpName" xml:"IpName"`
+}

+ 22 - 0
services/xtrace/struct_log_event.go

@@ -0,0 +1,22 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// LogEvent is a nested struct in xtrace response
+type LogEvent struct {
+	Timestamp    int64                  `json:"Timestamp" xml:"Timestamp"`
+	TagEntryList TagEntryListInGetTrace `json:"TagEntryList" xml:"TagEntryList"`
+}

+ 21 - 0
services/xtrace/struct_log_event_list.go

@@ -0,0 +1,21 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// LogEventList is a nested struct in xtrace response
+type LogEventList struct {
+	LogEvent []LogEvent `json:"LogEvent" xml:"LogEvent"`
+}

+ 24 - 0
services/xtrace/struct_page_bean.go

@@ -0,0 +1,24 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// PageBean is a nested struct in xtrace response
+type PageBean struct {
+	TotalCount int64      `json:"TotalCount" xml:"TotalCount"`
+	PageSize   int        `json:"PageSize" xml:"PageSize"`
+	PageNumber int        `json:"PageNumber" xml:"PageNumber"`
+	TraceInfos TraceInfos `json:"TraceInfos" xml:"TraceInfos"`
+}

+ 23 - 0
services/xtrace/struct_service.go

@@ -0,0 +1,23 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Service is a nested struct in xtrace response
+type Service struct {
+	ServiceName string `json:"ServiceName" xml:"ServiceName"`
+	Pid         string `json:"Pid" xml:"Pid"`
+	RegionId    string `json:"RegionId" xml:"RegionId"`
+}

+ 21 - 0
services/xtrace/struct_services.go

@@ -0,0 +1,21 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Services is a nested struct in xtrace response
+type Services struct {
+	Service []Service `json:"Service" xml:"Service"`
+}

+ 31 - 0
services/xtrace/struct_span.go

@@ -0,0 +1,31 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Span is a nested struct in xtrace response
+type Span struct {
+	TraceID       string                 `json:"TraceID" xml:"TraceID"`
+	OperationName string                 `json:"OperationName" xml:"OperationName"`
+	Duration      int64                  `json:"Duration" xml:"Duration"`
+	ServiceName   string                 `json:"ServiceName" xml:"ServiceName"`
+	ServiceIp     string                 `json:"ServiceIp" xml:"ServiceIp"`
+	Timestamp     int64                  `json:"Timestamp" xml:"Timestamp"`
+	RpcId         string                 `json:"RpcId" xml:"RpcId"`
+	ResultCode    string                 `json:"ResultCode" xml:"ResultCode"`
+	HaveStack     bool                   `json:"HaveStack" xml:"HaveStack"`
+	TagEntryList  TagEntryListInGetTrace `json:"TagEntryList" xml:"TagEntryList"`
+	LogEventList  LogEventList           `json:"LogEventList" xml:"LogEventList"`
+}

+ 21 - 0
services/xtrace/struct_span_names.go

@@ -0,0 +1,21 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// SpanNames is a nested struct in xtrace response
+type SpanNames struct {
+	SpanName []string `json:"SpanName" xml:"SpanName"`
+}

+ 21 - 0
services/xtrace/struct_spans.go

@@ -0,0 +1,21 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Spans is a nested struct in xtrace response
+type Spans struct {
+	Span []Span `json:"Span" xml:"Span"`
+}

+ 22 - 0
services/xtrace/struct_tag_entry.go

@@ -0,0 +1,22 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TagEntry is a nested struct in xtrace response
+type TagEntry struct {
+	Key   string `json:"Key" xml:"Key"`
+	Value string `json:"Value" xml:"Value"`
+}

+ 21 - 0
services/xtrace/struct_tag_entry_list_in_get_trace.go

@@ -0,0 +1,21 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TagEntryListInGetTrace is a nested struct in xtrace response
+type TagEntryListInGetTrace struct {
+	TagEntry []TagEntry `json:"TagEntry" xml:"TagEntry"`
+}

+ 21 - 0
services/xtrace/struct_tag_keys.go

@@ -0,0 +1,21 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TagKeys is a nested struct in xtrace response
+type TagKeys struct {
+	TagKey []string `json:"TagKey" xml:"TagKey"`
+}

+ 21 - 0
services/xtrace/struct_tag_values.go

@@ -0,0 +1,21 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TagValues is a nested struct in xtrace response
+type TagValues struct {
+	TagValue []string `json:"TagValue" xml:"TagValue"`
+}

+ 24 - 0
services/xtrace/struct_token.go

@@ -0,0 +1,24 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Token is a nested struct in xtrace response
+type Token struct {
+	Domain         string `json:"Domain" xml:"Domain"`
+	LicenseKey     string `json:"LicenseKey" xml:"LicenseKey"`
+	Pid            string `json:"Pid" xml:"Pid"`
+	InternalDomain string `json:"InternalDomain" xml:"InternalDomain"`
+}

+ 26 - 0
services/xtrace/struct_trace_info.go

@@ -0,0 +1,26 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TraceInfo is a nested struct in xtrace response
+type TraceInfo struct {
+	TraceID       string `json:"TraceID" xml:"TraceID"`
+	OperationName string `json:"OperationName" xml:"OperationName"`
+	ServiceName   string `json:"ServiceName" xml:"ServiceName"`
+	ServiceIp     string `json:"ServiceIp" xml:"ServiceIp"`
+	Duration      int64  `json:"Duration" xml:"Duration"`
+	Timestamp     int64  `json:"Timestamp" xml:"Timestamp"`
+}

+ 21 - 0
services/xtrace/struct_trace_infos.go

@@ -0,0 +1,21 @@
+package xtrace
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// TraceInfos is a nested struct in xtrace response
+type TraceInfos struct {
+	TraceInfo []TraceInfo `json:"TraceInfo" xml:"TraceInfo"`
+}