Skip to content

Commit

Permalink
feat(frontend): add getPublicInfo for tracing backend (#3689)
Browse files Browse the repository at this point in the history
  • Loading branch information
jorgeepc committed Feb 27, 2024
1 parent 9169a1c commit 9bfa704
Show file tree
Hide file tree
Showing 13 changed files with 90 additions and 2 deletions.
2 changes: 1 addition & 1 deletion web/src/components/AllowButton/AllowButton.tsx
Expand Up @@ -26,7 +26,7 @@ const AllowButton = ({operation, ButtonComponent, ...props}: IProps) => {
<S.Warning color="yellow" /> Limited Access
</Typography.Title>
<Typography.Paragraph>
Your current role group (<b>{capitalize(role)}</b>) has limited access to this environment. please contact
Your current role group (<b>{capitalize(role)}</b>) has limited access to this environment. Please contact
the environment administrator for assistance.
</Typography.Paragraph>
</>
Expand Down
9 changes: 9 additions & 0 deletions web/src/services/DataStore.service.ts
Expand Up @@ -33,13 +33,15 @@ interface IDataStoreService {
getInitialValues(config: DataStore, configuredDataStore?: SupportedDataStores): TDraftDataStore;
validateDraft(config: TDraftDataStore): Promise<boolean>;
getIsOtlpBased(draft: TDraftDataStore): boolean;
getPublicInfo(config: DataStore): Record<string, string>;
_getDataStore(type?: SupportedDataStores): TDataStoreService;
}

const DataStoreService = (): IDataStoreService => ({
_getDataStore(type = SupportedDataStores.JAEGER) {
return dataStoreServiceMap[type] || OtelCollectorService;
},

async getRequest(draft, defaultDataStore) {
const dataStoreType = draft.dataStoreType || SupportedDataStores.JAEGER;
const dataStoreService = this._getDataStore(dataStoreType);
Expand Down Expand Up @@ -78,6 +80,13 @@ const DataStoreService = (): IDataStoreService => ({

return dataStore.getIsOtlpBased(draft);
},

getPublicInfo(config) {
const type = (config.type || SupportedDataStores.JAEGER) as SupportedDataStores;
const dataStore = this._getDataStore(type);

return {...dataStore.getPublicInfo(config)};
},
});

export default DataStoreService();
8 changes: 8 additions & 0 deletions web/src/services/DataStores/AwsXRay.service.ts
Expand Up @@ -40,6 +40,14 @@ const AwsXRayService = (): TDataStoreService => ({
getIsOtlpBased() {
return false;
},
getPublicInfo({awsxray = {}}) {
const {region = '', useDefaultAuth = false} = awsxray;

return {
Region: region,
'Use Default Auth': useDefaultAuth ? 'Yes' : 'No',
};
},
});

export default AwsXRayService();
13 changes: 13 additions & 0 deletions web/src/services/DataStores/AzureAppInsights.service.ts
Expand Up @@ -63,6 +63,19 @@ const AzureAppInsightsService = (): TDataStoreService => ({
getIsOtlpBased({dataStore: {azureappinsights: {connectionType = ConnectionTypes.Direct} = {}} = {}}) {
return connectionType === ConnectionTypes.Collector;
},
getPublicInfo({azureappinsights = {}}) {
const {
resourceArmId = '',
connectionType = ConnectionTypes.Direct,
useAzureActiveDirectoryAuth = true,
} = azureappinsights;

return {
'Resource Arm Id': resourceArmId,
'Connection Type': connectionType,
'Use Azure Active Directory Auth': useAzureActiveDirectoryAuth ? 'Yes' : 'No',
};
},
});

export default AzureAppInsightsService();
15 changes: 15 additions & 0 deletions web/src/services/DataStores/BaseClient.service.ts
Expand Up @@ -76,6 +76,21 @@ const BaseClientService = (): TDataStoreService => ({
getIsOtlpBased() {
return false;
},
getPublicInfo(
defaultDataStore = {name: '', type: SupportedDataStores.JAEGER},
dataStoreType = SupportedDataStores.TEMPO
) {
const {type = 'grpc', grpc = {}, http = {}} = defaultDataStore[dataStoreType] as TRawBaseClientSettings;

switch (type) {
case SupportedClientTypes.GRPC:
return GrpcClientService.getPublicInfo(grpc as TRawGRPCClientSettings);
case SupportedClientTypes.HTTP:
return HttpClientService.getPublicInfo(http as TRawHttpClientSettings);
default:
return GrpcClientService.getPublicInfo(grpc as TRawGRPCClientSettings);
}
},
});

export default BaseClientService();
10 changes: 9 additions & 1 deletion web/src/services/DataStores/ElasticSearch.service.ts
Expand Up @@ -27,7 +27,7 @@ const ElasticSearchService = (): TDataStoreService => ({
});
},
validateDraft({dataStore = {}, dataStoreType}) {
const values = (dataStore[dataStoreType || SupportedDataStores.OpenSearch] as IElasticSearch) ?? {};
const values = dataStore[dataStoreType || SupportedDataStores.OpenSearch] as IElasticSearch;
const {addresses = [], index = ''} = values;
const [address] = addresses;
if (!index || !Validator.url(address)) return Promise.resolve(false);
Expand Down Expand Up @@ -68,6 +68,14 @@ const ElasticSearchService = (): TDataStoreService => ({
getIsOtlpBased() {
return false;
},
getPublicInfo({opensearch = {}}) {
const {addresses = [], index = ''} = opensearch;

return {
Address: addresses.join(', '),
Index: index,
};
},
});

export default ElasticSearchService();
7 changes: 7 additions & 0 deletions web/src/services/DataStores/GrpcClient.service.ts
Expand Up @@ -102,6 +102,13 @@ const GrpcClientService = () => ({
fileKey: keyFile ? new File([keyFile], 'fileKey') : undefined,
};
},
getPublicInfo(values: TRawGRPCClientSettings) {
const {endpoint = ''} = values;

return {
Endpoint: endpoint,
};
},
});

export default GrpcClientService();
7 changes: 7 additions & 0 deletions web/src/services/DataStores/HttpClient.service.ts
Expand Up @@ -82,6 +82,13 @@ const HttpClientService = () => ({
fileKey: keyFile ? new File([keyFile], 'fileKey') : undefined,
};
},
getPublicInfo(values: TRawHttpClientSettings) {
const {url = ''} = values;

return {
URL: url,
};
},
});

export default HttpClientService();
3 changes: 3 additions & 0 deletions web/src/services/DataStores/Jaeger.service.ts
Expand Up @@ -41,6 +41,9 @@ const JaegerService = (): TDataStoreService => ({
getIsOtlpBased() {
return false;
},
getPublicInfo({jaeger = {}}) {
return GrpcClientService.getPublicInfo(jaeger);
},
});

export default JaegerService();
3 changes: 3 additions & 0 deletions web/src/services/DataStores/OtelCollector.service.ts
Expand Up @@ -23,6 +23,9 @@ const OtelCollectorService = (): TDataStoreService => ({
getIsOtlpBased() {
return true;
},
getPublicInfo() {
return {};
},
});

export default OtelCollectorService();
7 changes: 7 additions & 0 deletions web/src/services/DataStores/SignalFx.service.ts
Expand Up @@ -27,6 +27,13 @@ const SignalFxService = (): TDataStoreService => ({
getIsOtlpBased() {
return false;
},
getPublicInfo({signalfx = {}}) {
const {realm = ''} = signalfx;

return {
Realm: realm,
};
},
});

export default SignalFxService();
7 changes: 7 additions & 0 deletions web/src/services/DataStores/SumoLogic.service.ts
Expand Up @@ -32,6 +32,13 @@ const SumoLogicService = (): TDataStoreService => ({
getIsOtlpBased() {
return false;
},
getPublicInfo({sumologic = {}}) {
const {url = ''} = sumologic;

return {
URL: url,
};
},
});

export default SumoLogicService();
1 change: 1 addition & 0 deletions web/src/types/DataStore.types.ts
Expand Up @@ -121,6 +121,7 @@ export type TDataStoreService = {
configuredDataStore?: SupportedDataStores
): TDraftDataStore;
getIsOtlpBased(draft: TDraftDataStore): boolean;
getPublicInfo(config: DataStore): Record<string, string>;
};

export interface IDataStorePluginProps {}
Expand Down

0 comments on commit 9bfa704

Please sign in to comment.