diff options
Diffstat (limited to 'app/assets/javascripts/observability/client.js')
-rw-r--r-- | app/assets/javascripts/observability/client.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/app/assets/javascripts/observability/client.js b/app/assets/javascripts/observability/client.js new file mode 100644 index 00000000000..6e39d2b450b --- /dev/null +++ b/app/assets/javascripts/observability/client.js @@ -0,0 +1,41 @@ +// import axios from '~/lib/utils/axios_utils'; +import * as mockData from './mock_traces.json'; + +function enableTraces(provisioningUrl) { + console.log(`Enabling tracing - ${provisioningUrl}`); // eslint-disable-line no-console + + return new Promise((resolve) => { + setTimeout(() => { + resolve(); + }, 500); + }); +} + +function isTracingEnabled(provisioningUrl) { + console.log(`Checking status - ${provisioningUrl}`); // eslint-disable-line no-console + + return new Promise((resolve) => { + setTimeout(() => { + resolve(false); + }, 1000); + }); +} + +function fetchTraces(tracingUrl) { + console.log(`Fetching traces from ${tracingUrl}`); // eslint-disable-line no-console + + // axios.get(`${this.endpoint}/v1/jaeger/22/api/services`, { credentials: 'include' }); + return new Promise((resolve) => { + setTimeout(() => { + resolve(mockData.data); + }, 2000); + }); +} + +export function buildClient({ provisioningUrl, tracingUrl }) { + return { + enableTraces: () => enableTraces(provisioningUrl), + isTracingEnabled: () => isTracingEnabled(provisioningUrl), + fetchTraces: () => fetchTraces(tracingUrl), + }; +} |