Skip to content

Commit cfc82cf

Browse files
committed
updated example and readme
1 parent 4bf2d39 commit cfc82cf

File tree

4 files changed

+55
-31
lines changed

4 files changed

+55
-31
lines changed

examples/opentelemetry-web/examples/session/index.js

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@ const {
88
const {
99
createSessionSpanProcessor,
1010
createSessionLogRecordProcessor,
11-
Session,
12-
SessionManager,
13-
DefaultIdGenerator,
11+
createSessionManager,
12+
createDefaultSessionIdGenerator,
1413
LocalStorageSessionStore
1514
} = require('@opentelemetry/web-common');
1615

1716
// session manager
18-
const sessionManager = await createSessionManager({
19-
sessionIdGenerator: new DefaultIdGenerator(),
17+
const sessionManager = createSessionManager({
18+
sessionIdGenerator: createDefaultSessionIdGenerator(),
2019
sessionStore: new LocalStorageSessionStore(),
2120
maxDuration: 20,
2221
inactivityTimeout: 10
@@ -31,19 +30,28 @@ sessionManager.addObserver({
3130
}
3231
});
3332

33+
// restore or start session
34+
sessionManager.start();
35+
3436
// configure tracer
35-
const provider = new WebTracerProvider();
36-
provider.addSpanProcessor(createSessionSpanProcessor(sessionManager));
37-
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
38-
provider.register();
39-
const tracer = provider.getTracer('example');
37+
const tracerProvider = new WebTracerProvider({
38+
spanProcessors: [
39+
createSessionSpanProcessor(sessionManager),
40+
new SimpleSpanProcessor(new ConsoleSpanExporter())
41+
]
42+
});
43+
44+
tracerProvider.register();
45+
const tracer = tracerProvider.getTracer('example');
4046

4147
// configure logger
42-
const loggerProvider = new LoggerProvider();
43-
loggerProvider.addLogRecordProcessor(createSessionLogRecordProcessor(sessionManager));
44-
loggerProvider.addLogRecordProcessor(
45-
new SimpleLogRecordProcessor(new ConsoleLogRecordExporter())
46-
);
48+
const loggerProvider = new LoggerProvider({
49+
processors: [
50+
createSessionLogRecordProcessor(sessionManager),
51+
new SimpleLogRecordProcessor(new ConsoleLogRecordExporter())
52+
]
53+
});
54+
4755
const logger = loggerProvider.getLogger('example');
4856

4957
window.addEventListener('load', () => {

experimental/packages/web-common/README.md

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,26 +30,36 @@ Example:
3030
const {
3131
createSessionSpanProcessor,
3232
createSessionLogRecordProcessor,
33+
createDefaultSessionIdGenerator,
3334
SessionManager,
3435
DefaultIdGenerator,
3536
LocalStorageSessionStore
3637
} = require('@opentelemetry/web-common');
3738

3839
// session manager
3940
const sessionManager = new SessionManager({
40-
sessionIdGenerator: new DefaultIdGenerator(),
41+
sessionIdGenerator: createDefaultSessionIdGenerator(),
4142
sessionStore: new LocalStorageSessionStore(),
4243
maxDuration: 7200, // 4 hours
4344
inactivityTimeout: 1800 // 30 minutes
4445
});
4546

47+
// restore or start session
48+
sessionManager.start();
49+
4650
// configure tracer
47-
const provider = new WebTracerProvider();
48-
provider.addSpanProcessor(createSessionSpanProcessor(sessionManager));
51+
const tracerProvider = new WebTracerProvider({
52+
spanProcessors: [
53+
createSessionSpanProcessor(sessionManager),
54+
]
55+
});
4956

5057
// configure logger
51-
const loggerProvider = new LoggerProvider();
52-
loggerProvider.addLogRecordProcessor(createSessionLogRecordProcessor(sessionManager));
58+
const loggerProvider = new LoggerProvider({
59+
processors: [
60+
createSessionLogRecordProcessor(sessionManager),
61+
]
62+
});
5363
```
5464

5565
The above implementation can be customized by providing different implementations of SessionStore and SessionIdGenerator.
@@ -79,16 +89,22 @@ function getSessionId() {
7989
}
8090

8191
// configure tracer
82-
const provider = new WebTracerProvider();
83-
provider.addSpanProcessor(createSessionSpanProcessor({
84-
getSessionId: getSessionId
85-
}));
92+
const tracerProvider = new WebTracerProvider({
93+
spanProcessors: [
94+
createSessionSpanProcessor({
95+
getSessionId: getSessionId
96+
}),
97+
]
98+
});
8699

87100
// configure logger
88-
const loggerProvider = new LoggerProvider();
89-
loggerProvider.addLogRecordProcessor(createSessionLogRecordProcessor({
90-
getSessionId: getSessionId
91-
}));
101+
const loggerProvider = new LoggerProvider({
102+
processors: [
103+
createSessionLogRecordProcessor({
104+
getSessionId: getSessionId
105+
}),
106+
]
107+
});
92108
```
93109

94110
## Useful links

experimental/packages/web-common/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export {
1919
createSessionSpanProcessor,
2020
createSessionLogRecordProcessor,
2121
createSessionManager,
22+
createDefaultSessionIdGenerator
2223
} from './utils';
2324
export type { Session } from './types/Session';
2425
export type { SessionIdGenerator } from './types/SessionIdGenerator';

experimental/packages/web-common/src/utils.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,10 @@ export function createSessionLogRecordProcessor(
3535
return new SessionLogRecordProcessor(sessionProvider);
3636
}
3737

38-
export async function createSessionManager(
38+
export function createSessionManager(
3939
config: SessionManagerConfig
40-
): Promise<SessionManager> {
40+
): SessionManager {
4141
const manager = new SessionManager(config);
42-
await manager.start();
4342
return manager;
4443
}
4544

0 commit comments

Comments
 (0)