just promises?

dev dependency


type reuse from sdk package
This commit is contained in:
teodosii 2022-12-22 15:06:55 +02:00
parent f935803354
commit 3315e9dab1
4 changed files with 46 additions and 48 deletions

View file

@ -40,9 +40,6 @@
"author": "Grafana Labs",
"license": "Apache-2.0",
"devDependencies": {
"@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.18.6",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.20.0",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
@ -54,6 +51,10 @@
"@babel/plugin-transform-react-constant-elements": "^7.18.12",
"@babel/plugin-transform-runtime": "^7.19.6",
"@babel/plugin-transform-typescript": "^7.18.12",
"@babel/preset-env": "^7.18.10",
"@babel/preset-react": "^7.18.6",
"@babel/preset-typescript": "^7.18.6",
"@grafana/eslint-config": "^5.0.0",
"@grafana/toolkit": "^9.2.4",
"@jest/globals": "^27.5.1",
"@testing-library/jest-dom": "^5.16.5",
@ -102,8 +103,6 @@
},
"dependencies": {
"@grafana/data": "^9.2.4",
"@grafana/eslint-config": "^5.0.0",
"@grafana/faro-core": " ^1.0.0-beta4",
"@grafana/faro-web-sdk": "^1.0.0-beta4",
"@grafana/faro-web-tracing": "^1.0.0-beta4",
"@grafana/runtime": "9.3.0-beta1",

View file

@ -51,47 +51,47 @@ export const makeRequest = async <RT = any>(path: string, config: RequestConfig)
span.setAttribute(SemanticAttributes.HTTP_METHOD, method);
}
try {
// OTEL requests
return new Promise<RT>((resolve, reject) => {
otel.context.with(otel.trace.setSpan(otel.context.active(), span), async () => {
FaroHelper.faro.api.pushEvent('Sending request', { url });
const response = await instance({
instance({
method,
url,
params,
data,
validateStatus,
});
FaroHelper.faro.api.pushEvent('Request completed', { url });
return response.data as RT;
})
.then((response) => {
FaroHelper.faro.api.pushEvent('Request completed', { url });
span.end();
resolve(response.data as RT);
})
.catch((ex) => {
FaroHelper.faro.api.pushEvent('Request failed', { url });
FaroHelper.faro.api.pushError(ex);
span.setStatus({ code: SpanStatusCode.ERROR });
span.end();
reject(ex);
});
});
} catch (ex) {
FaroHelper.faro.api.pushEvent('Request failed', { url });
FaroHelper.faro.api.pushError(ex);
span.setStatus({ code: SpanStatusCode.ERROR });
return Promise.reject(ex);
} finally {
span.end();
}
}
try {
// non-OTEL requests
const response = await instance({
method,
url,
params,
data,
validateStatus,
});
FaroHelper.faro?.api.pushEvent('Request completed', { url });
return response.data as RT;
} catch (ex) {
FaroHelper.faro?.api.pushEvent('Request failed', { url });
FaroHelper.faro?.api.pushError(ex);
return Promise.reject(ex);
}
return instance({
method,
url,
params,
data,
validateStatus,
})
.then((response) => {
FaroHelper.faro?.api.pushEvent('Request completed', { url });
return response.data as RT;
})
.catch((ex) => {
FaroHelper.faro?.api.pushEvent('Request failed', { url });
FaroHelper.faro?.api.pushError(ex);
return Promise.reject(ex);
});
};

View file

@ -1,5 +1,4 @@
import { Faro } from '@grafana/faro-core';
import { initializeFaro, getWebInstrumentations } from '@grafana/faro-web-sdk';
import { Faro, initializeFaro, getWebInstrumentations } from '@grafana/faro-web-sdk';
import { TracingInstrumentation } from '@grafana/faro-web-tracing';
import { DocumentLoadInstrumentation } from '@opentelemetry/instrumentation-document-load';
import { FetchInstrumentation } from '@opentelemetry/instrumentation-fetch';

View file

@ -1594,15 +1594,6 @@
eslint-plugin-react-hooks "4.3.0"
typescript "4.6.4"
"@grafana/faro-core@ ^1.0.0-beta4", "@grafana/faro-core@^1.0.0-beta4":
version "1.0.0-beta4"
resolved "https://registry.yarnpkg.com/@grafana/faro-core/-/faro-core-1.0.0-beta4.tgz#2f38e18764c0a3c3f1af889d510a2896bcb742ab"
integrity sha512-tB7705aYCByw4CNWt3WNoV39+sZCudBMiStmiEKHzM17VRRLBjPcrMQTkVYu4zMkEAdWMuAdYhT3xjzHlQpXIA==
dependencies:
"@opentelemetry/api" "^1.3.0"
"@opentelemetry/api-metrics" "^0.33.0"
"@opentelemetry/otlp-transformer" "^0.34.0"
"@grafana/faro-core@^1.0.0-beta2":
version "1.0.0-beta2"
resolved "https://registry.yarnpkg.com/@grafana/faro-core/-/faro-core-1.0.0-beta2.tgz#97636677c1d687b0b238642a3978334652f263a5"
@ -1613,6 +1604,15 @@
"@opentelemetry/otlp-transformer" "^0.33.0"
fast-deep-equal "^3.1.3"
"@grafana/faro-core@^1.0.0-beta4":
version "1.0.0-beta4"
resolved "https://registry.yarnpkg.com/@grafana/faro-core/-/faro-core-1.0.0-beta4.tgz#2f38e18764c0a3c3f1af889d510a2896bcb742ab"
integrity sha512-tB7705aYCByw4CNWt3WNoV39+sZCudBMiStmiEKHzM17VRRLBjPcrMQTkVYu4zMkEAdWMuAdYhT3xjzHlQpXIA==
dependencies:
"@opentelemetry/api" "^1.3.0"
"@opentelemetry/api-metrics" "^0.33.0"
"@opentelemetry/otlp-transformer" "^0.34.0"
"@grafana/faro-web-sdk@1.0.0-beta2":
version "1.0.0-beta2"
resolved "https://registry.yarnpkg.com/@grafana/faro-web-sdk/-/faro-web-sdk-1.0.0-beta2.tgz#d096a350d6366a108428a205753c797802eb480d"