@embrace-io/web-sdk
Version:
32 lines (31 loc) • 1.33 kB
JavaScript
import { generateUUID } from "../../utils/generateUUID.js";
import { KEY_EMB_SESSION_PART_ID, KEY_EMB_USER_SESSION_ID, KEY_EMB_USER_SESSION_PREVIOUS_ID } from "../../constants/attributes.js";
import { ATTR_LOG_RECORD_UID, ATTR_SESSION_ID, ATTR_SESSION_PREVIOUS_ID } from "@opentelemetry/semantic-conventions/incubating";
//#region src/processors/UserSessionLogRecordProcessor/UserSessionLogRecordProcessor.ts
var UserSessionLogRecordProcessor = class {
_userSessionManager;
constructor({ userSessionManager }) {
this._userSessionManager = userSessionManager;
}
forceFlush() {
return Promise.resolve(void 0);
}
onEmit(logRecord) {
const userSessionId = this._userSessionManager.getUserSessionId() ?? "";
const previousUserSessionId = this._userSessionManager.getPreviousUserSessionId() ?? "";
logRecord.setAttributes({
[ATTR_LOG_RECORD_UID]: generateUUID(),
[ATTR_SESSION_ID]: userSessionId,
[ATTR_SESSION_PREVIOUS_ID]: previousUserSessionId,
[KEY_EMB_USER_SESSION_ID]: userSessionId,
[KEY_EMB_USER_SESSION_PREVIOUS_ID]: previousUserSessionId,
[KEY_EMB_SESSION_PART_ID]: this._userSessionManager.getSessionPartId() ?? ""
});
}
shutdown() {
return Promise.resolve(void 0);
}
};
//#endregion
export { UserSessionLogRecordProcessor };
//# sourceMappingURL=UserSessionLogRecordProcessor.js.map