Support Sampling for jaeger.

This commit is contained in:
sdk-team
2020-10-27 03:05:56 +00:00
parent 838459913d
commit b4903d0fd0
24 changed files with 1151 additions and 5 deletions

View File

@@ -22,6 +22,10 @@
#include <alibabacloud/core/EndpointProvider.h>
#include <alibabacloud/core/RpcServiceClient.h>
#include "XtraceExport.h"
#include "model/CheckServiceLinkedRoleForDeletingRequest.h"
#include "model/CheckServiceLinkedRoleForDeletingResult.h"
#include "model/GetSamplingRequest.h"
#include "model/GetSamplingResult.h"
#include "model/GetTagKeyRequest.h"
#include "model/GetTagKeyResult.h"
#include "model/GetTagValRequest.h"
@@ -30,6 +34,8 @@
#include "model/GetTokenResult.h"
#include "model/GetTraceRequest.h"
#include "model/GetTraceResult.h"
#include "model/GetTraceAnalysisRequest.h"
#include "model/GetTraceAnalysisResult.h"
#include "model/ListIpOrHostsRequest.h"
#include "model/ListIpOrHostsResult.h"
#include "model/ListServicesRequest.h"
@@ -40,6 +46,8 @@
#include "model/QueryMetricResult.h"
#include "model/SearchTracesRequest.h"
#include "model/SearchTracesResult.h"
#include "model/UpdateSamplingRequest.h"
#include "model/UpdateSamplingResult.h"
namespace AlibabaCloud
@@ -49,6 +57,12 @@ namespace AlibabaCloud
class ALIBABACLOUD_XTRACE_EXPORT XtraceClient : public RpcServiceClient
{
public:
typedef Outcome<Error, Model::CheckServiceLinkedRoleForDeletingResult> CheckServiceLinkedRoleForDeletingOutcome;
typedef std::future<CheckServiceLinkedRoleForDeletingOutcome> CheckServiceLinkedRoleForDeletingOutcomeCallable;
typedef std::function<void(const XtraceClient*, const Model::CheckServiceLinkedRoleForDeletingRequest&, const CheckServiceLinkedRoleForDeletingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CheckServiceLinkedRoleForDeletingAsyncHandler;
typedef Outcome<Error, Model::GetSamplingResult> GetSamplingOutcome;
typedef std::future<GetSamplingOutcome> GetSamplingOutcomeCallable;
typedef std::function<void(const XtraceClient*, const Model::GetSamplingRequest&, const GetSamplingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetSamplingAsyncHandler;
typedef Outcome<Error, Model::GetTagKeyResult> GetTagKeyOutcome;
typedef std::future<GetTagKeyOutcome> GetTagKeyOutcomeCallable;
typedef std::function<void(const XtraceClient*, const Model::GetTagKeyRequest&, const GetTagKeyOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTagKeyAsyncHandler;
@@ -61,6 +75,9 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::GetTraceResult> GetTraceOutcome;
typedef std::future<GetTraceOutcome> GetTraceOutcomeCallable;
typedef std::function<void(const XtraceClient*, const Model::GetTraceRequest&, const GetTraceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTraceAsyncHandler;
typedef Outcome<Error, Model::GetTraceAnalysisResult> GetTraceAnalysisOutcome;
typedef std::future<GetTraceAnalysisOutcome> GetTraceAnalysisOutcomeCallable;
typedef std::function<void(const XtraceClient*, const Model::GetTraceAnalysisRequest&, const GetTraceAnalysisOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> GetTraceAnalysisAsyncHandler;
typedef Outcome<Error, Model::ListIpOrHostsResult> ListIpOrHostsOutcome;
typedef std::future<ListIpOrHostsOutcome> ListIpOrHostsOutcomeCallable;
typedef std::function<void(const XtraceClient*, const Model::ListIpOrHostsRequest&, const ListIpOrHostsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> ListIpOrHostsAsyncHandler;
@@ -76,11 +93,20 @@ namespace AlibabaCloud
typedef Outcome<Error, Model::SearchTracesResult> SearchTracesOutcome;
typedef std::future<SearchTracesOutcome> SearchTracesOutcomeCallable;
typedef std::function<void(const XtraceClient*, const Model::SearchTracesRequest&, const SearchTracesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SearchTracesAsyncHandler;
typedef Outcome<Error, Model::UpdateSamplingResult> UpdateSamplingOutcome;
typedef std::future<UpdateSamplingOutcome> UpdateSamplingOutcomeCallable;
typedef std::function<void(const XtraceClient*, const Model::UpdateSamplingRequest&, const UpdateSamplingOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateSamplingAsyncHandler;
XtraceClient(const Credentials &credentials, const ClientConfiguration &configuration);
XtraceClient(const std::shared_ptr<CredentialsProvider> &credentialsProvider, const ClientConfiguration &configuration);
XtraceClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration);
~XtraceClient();
CheckServiceLinkedRoleForDeletingOutcome checkServiceLinkedRoleForDeleting(const Model::CheckServiceLinkedRoleForDeletingRequest &request)const;
void checkServiceLinkedRoleForDeletingAsync(const Model::CheckServiceLinkedRoleForDeletingRequest& request, const CheckServiceLinkedRoleForDeletingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
CheckServiceLinkedRoleForDeletingOutcomeCallable checkServiceLinkedRoleForDeletingCallable(const Model::CheckServiceLinkedRoleForDeletingRequest& request) const;
GetSamplingOutcome getSampling(const Model::GetSamplingRequest &request)const;
void getSamplingAsync(const Model::GetSamplingRequest& request, const GetSamplingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
GetSamplingOutcomeCallable getSamplingCallable(const Model::GetSamplingRequest& request) const;
GetTagKeyOutcome getTagKey(const Model::GetTagKeyRequest &request)const;
void getTagKeyAsync(const Model::GetTagKeyRequest& request, const GetTagKeyAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
GetTagKeyOutcomeCallable getTagKeyCallable(const Model::GetTagKeyRequest& request) const;
@@ -93,6 +119,9 @@ namespace AlibabaCloud
GetTraceOutcome getTrace(const Model::GetTraceRequest &request)const;
void getTraceAsync(const Model::GetTraceRequest& request, const GetTraceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
GetTraceOutcomeCallable getTraceCallable(const Model::GetTraceRequest& request) const;
GetTraceAnalysisOutcome getTraceAnalysis(const Model::GetTraceAnalysisRequest &request)const;
void getTraceAnalysisAsync(const Model::GetTraceAnalysisRequest& request, const GetTraceAnalysisAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
GetTraceAnalysisOutcomeCallable getTraceAnalysisCallable(const Model::GetTraceAnalysisRequest& request) const;
ListIpOrHostsOutcome listIpOrHosts(const Model::ListIpOrHostsRequest &request)const;
void listIpOrHostsAsync(const Model::ListIpOrHostsRequest& request, const ListIpOrHostsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
ListIpOrHostsOutcomeCallable listIpOrHostsCallable(const Model::ListIpOrHostsRequest& request) const;
@@ -108,6 +137,9 @@ namespace AlibabaCloud
SearchTracesOutcome searchTraces(const Model::SearchTracesRequest &request)const;
void searchTracesAsync(const Model::SearchTracesRequest& request, const SearchTracesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
SearchTracesOutcomeCallable searchTracesCallable(const Model::SearchTracesRequest& request) const;
UpdateSamplingOutcome updateSampling(const Model::UpdateSamplingRequest &request)const;
void updateSamplingAsync(const Model::UpdateSamplingRequest& request, const UpdateSamplingAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
UpdateSamplingOutcomeCallable updateSamplingCallable(const Model::UpdateSamplingRequest& request) const;
private:
std::shared_ptr<EndpointProvider> endpointProvider_;

View File

@@ -0,0 +1,60 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_XTRACE_MODEL_CHECKSERVICELINKEDROLEFORDELETINGREQUEST_H_
#define ALIBABACLOUD_XTRACE_MODEL_CHECKSERVICELINKEDROLEFORDELETINGREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/xtrace/XtraceExport.h>
namespace AlibabaCloud
{
namespace Xtrace
{
namespace Model
{
class ALIBABACLOUD_XTRACE_EXPORT CheckServiceLinkedRoleForDeletingRequest : public RpcServiceRequest
{
public:
CheckServiceLinkedRoleForDeletingRequest();
~CheckServiceLinkedRoleForDeletingRequest();
std::string getSPIRegionId()const;
void setSPIRegionId(const std::string& sPIRegionId);
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getRoleArn()const;
void setRoleArn(const std::string& roleArn);
std::string getDeletionTaskId()const;
void setDeletionTaskId(const std::string& deletionTaskId);
std::string getServiceName()const;
void setServiceName(const std::string& serviceName);
private:
std::string sPIRegionId_;
std::string regionId_;
std::string roleArn_;
std::string deletionTaskId_;
std::string serviceName_;
};
}
}
}
#endif // !ALIBABACLOUD_XTRACE_MODEL_CHECKSERVICELINKEDROLEFORDELETINGREQUEST_H_

View File

@@ -0,0 +1,58 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_XTRACE_MODEL_CHECKSERVICELINKEDROLEFORDELETINGRESULT_H_
#define ALIBABACLOUD_XTRACE_MODEL_CHECKSERVICELINKEDROLEFORDELETINGRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/xtrace/XtraceExport.h>
namespace AlibabaCloud
{
namespace Xtrace
{
namespace Model
{
class ALIBABACLOUD_XTRACE_EXPORT CheckServiceLinkedRoleForDeletingResult : public ServiceResult
{
public:
struct RoleUsagesItem
{
std::string region;
std::vector<std::string> resources;
};
CheckServiceLinkedRoleForDeletingResult();
explicit CheckServiceLinkedRoleForDeletingResult(const std::string &payload);
~CheckServiceLinkedRoleForDeletingResult();
bool getDeletable()const;
std::vector<RoleUsagesItem> getRoleUsages()const;
protected:
void parse(const std::string &payload);
private:
bool deletable_;
std::vector<RoleUsagesItem> roleUsages_;
};
}
}
}
#endif // !ALIBABACLOUD_XTRACE_MODEL_CHECKSERVICELINKEDROLEFORDELETINGRESULT_H_

View File

@@ -0,0 +1,51 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_XTRACE_MODEL_GETSAMPLINGREQUEST_H_
#define ALIBABACLOUD_XTRACE_MODEL_GETSAMPLINGREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/xtrace/XtraceExport.h>
namespace AlibabaCloud
{
namespace Xtrace
{
namespace Model
{
class ALIBABACLOUD_XTRACE_EXPORT GetSamplingRequest : public RpcServiceRequest
{
public:
GetSamplingRequest();
~GetSamplingRequest();
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getProxyUserId()const;
void setProxyUserId(const std::string& proxyUserId);
private:
std::string regionId_;
std::string proxyUserId_;
};
}
}
}
#endif // !ALIBABACLOUD_XTRACE_MODEL_GETSAMPLINGREQUEST_H_

View File

@@ -0,0 +1,51 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_XTRACE_MODEL_GETSAMPLINGRESULT_H_
#define ALIBABACLOUD_XTRACE_MODEL_GETSAMPLINGRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/xtrace/XtraceExport.h>
namespace AlibabaCloud
{
namespace Xtrace
{
namespace Model
{
class ALIBABACLOUD_XTRACE_EXPORT GetSamplingResult : public ServiceResult
{
public:
GetSamplingResult();
explicit GetSamplingResult(const std::string &payload);
~GetSamplingResult();
std::string getData()const;
protected:
void parse(const std::string &payload);
private:
std::string data_;
};
}
}
}
#endif // !ALIBABACLOUD_XTRACE_MODEL_GETSAMPLINGRESULT_H_

View File

@@ -39,10 +39,13 @@ namespace AlibabaCloud
void setRegionId(const std::string& regionId);
std::string getAppType()const;
void setAppType(const std::string& appType);
std::string getProxyUserId()const;
void setProxyUserId(const std::string& proxyUserId);
private:
std::string regionId_;
std::string appType_;
std::string proxyUserId_;
};
}

View File

@@ -0,0 +1,57 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_XTRACE_MODEL_GETTRACEANALYSISREQUEST_H_
#define ALIBABACLOUD_XTRACE_MODEL_GETTRACEANALYSISREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/xtrace/XtraceExport.h>
namespace AlibabaCloud
{
namespace Xtrace
{
namespace Model
{
class ALIBABACLOUD_XTRACE_EXPORT GetTraceAnalysisRequest : public RpcServiceRequest
{
public:
GetTraceAnalysisRequest();
~GetTraceAnalysisRequest();
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getQuery()const;
void setQuery(const std::string& query);
std::string getApi()const;
void setApi(const std::string& api);
std::string getProxyUserId()const;
void setProxyUserId(const std::string& proxyUserId);
private:
std::string regionId_;
std::string query_;
std::string api_;
std::string proxyUserId_;
};
}
}
}
#endif // !ALIBABACLOUD_XTRACE_MODEL_GETTRACEANALYSISREQUEST_H_

View File

@@ -0,0 +1,51 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_XTRACE_MODEL_GETTRACEANALYSISRESULT_H_
#define ALIBABACLOUD_XTRACE_MODEL_GETTRACEANALYSISRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/xtrace/XtraceExport.h>
namespace AlibabaCloud
{
namespace Xtrace
{
namespace Model
{
class ALIBABACLOUD_XTRACE_EXPORT GetTraceAnalysisResult : public ServiceResult
{
public:
GetTraceAnalysisResult();
explicit GetTraceAnalysisResult(const std::string &payload);
~GetTraceAnalysisResult();
std::string getData()const;
protected:
void parse(const std::string &payload);
private:
std::string data_;
};
}
}
}
#endif // !ALIBABACLOUD_XTRACE_MODEL_GETTRACEANALYSISRESULT_H_

View File

@@ -49,6 +49,8 @@ namespace AlibabaCloud
void setStartTime(long startTime);
std::vector<Filters> getFilters()const;
void setFilters(const std::vector<Filters>& filters);
std::string getProxyUserId()const;
void setProxyUserId(const std::string& proxyUserId);
std::vector<std::string> getMeasures()const;
void setMeasures(const std::vector<std::string>& measures);
int getIntervalInSec()const;
@@ -67,6 +69,7 @@ namespace AlibabaCloud
std::string orderBy_;
long startTime_;
std::vector<Filters> filters_;
std::string proxyUserId_;
std::vector<std::string> measures_;
int intervalInSec_;
std::string metric_;

View File

@@ -0,0 +1,54 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_XTRACE_MODEL_UPDATESAMPLINGREQUEST_H_
#define ALIBABACLOUD_XTRACE_MODEL_UPDATESAMPLINGREQUEST_H_
#include <string>
#include <vector>
#include <alibabacloud/core/RpcServiceRequest.h>
#include <alibabacloud/xtrace/XtraceExport.h>
namespace AlibabaCloud
{
namespace Xtrace
{
namespace Model
{
class ALIBABACLOUD_XTRACE_EXPORT UpdateSamplingRequest : public RpcServiceRequest
{
public:
UpdateSamplingRequest();
~UpdateSamplingRequest();
std::string getRegionId()const;
void setRegionId(const std::string& regionId);
std::string getSampling()const;
void setSampling(const std::string& sampling);
std::string getProxyUserId()const;
void setProxyUserId(const std::string& proxyUserId);
private:
std::string regionId_;
std::string sampling_;
std::string proxyUserId_;
};
}
}
}
#endif // !ALIBABACLOUD_XTRACE_MODEL_UPDATESAMPLINGREQUEST_H_

View File

@@ -0,0 +1,51 @@
/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* 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.
*/
#ifndef ALIBABACLOUD_XTRACE_MODEL_UPDATESAMPLINGRESULT_H_
#define ALIBABACLOUD_XTRACE_MODEL_UPDATESAMPLINGRESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/xtrace/XtraceExport.h>
namespace AlibabaCloud
{
namespace Xtrace
{
namespace Model
{
class ALIBABACLOUD_XTRACE_EXPORT UpdateSamplingResult : public ServiceResult
{
public:
UpdateSamplingResult();
explicit UpdateSamplingResult(const std::string &payload);
~UpdateSamplingResult();
std::string getData()const;
protected:
void parse(const std::string &payload);
private:
std::string data_;
};
}
}
}
#endif // !ALIBABACLOUD_XTRACE_MODEL_UPDATESAMPLINGRESULT_H_