@embrace-io/web-sdk
Version:
17 lines (16 loc) • 966 B
JavaScript
import { KEY_EMB_TYPE } from "../constants/attributes.js";
import { KEY_EMB_SOFT_NAVIGATION_SOURCE } from "../instrumentations/soft-navigation-performance/SoftNavigationPerformanceInstrumentation/constants.js";
import { ATTR_HTTP_REQUEST_METHOD, ATTR_HTTP_RESPONSE_STATUS_CODE, ATTR_URL_FULL } from "@opentelemetry/semantic-conventions";
//#region src/utils/spanPredicates.ts
const isNetworkSpan = (span) => {
if (span.attributes[ATTR_HTTP_REQUEST_METHOD] && typeof span.attributes[ATTR_HTTP_RESPONSE_STATUS_CODE] === "number") {
const url = span.attributes[ATTR_URL_FULL];
return typeof url === "string" && url.includes("://");
}
return false;
};
const isSessionPartSpan = (span) => span.attributes[KEY_EMB_TYPE] === "ux.session_part";
const isSoftNavigationSpan = (span) => span.attributes[KEY_EMB_SOFT_NAVIGATION_SOURCE] !== void 0;
//#endregion
export { isNetworkSpan, isSessionPartSpan, isSoftNavigationSpan };
//# sourceMappingURL=spanPredicates.js.map