Comments (5)
Hi @crowecawcaw thanks for this; I like your proposal. Would you ever dynamically change the sessionId, or would it be sufficient to set the session Id only on initializing AwsRum
?
from aws-rum-web.
For our specific use case, we would only want to set the sessionId at initialization time.
from aws-rum-web.
For a different use case, we need to dynamically set both sessionId
and userId
:
We'd like to use RUM for a kiosk use case. In the idle state, no user is logged in. Users can authenticate, take some set of actions, and then log out. The page is never reloaded except after a deployment.
We'd like to have the RUM client initialized the entire time, capturing any errors, events, timings, etc. even when logged out (without associating those with the session/user before or after). We'd also like to set the userId
and a new sessionId
programmatically every time a user logs in (and reset them when they log out).
We'd like to avoid having to manage multiple instances of the RUM client and possibly lose events or get some other bad behavior because we didn't realize we had to call flush()
and disable()
(we haven't tested this route yet though, so might not even be correct - just trying to point out there's some danger in using multiple instances since most of the docs assume you'd only create one instance of the client) to destruct the previous instance before creating a new one to avoid duplicate or lost events.
from aws-rum-web.
@jffrenc From our point of view: the session in AWS RUM is one user session, which may contain that the user is logged in via various users during that session. The session lifecycle might be:
- logged out
- logged into userId: A
- logged out
- logged into userId: B
Then we would like to catch errors in this lifecycle and put them in relation to each other. We use the metadata feature when adding our custom user identities, and like the fact that we can abstract away in such a matter ^
from aws-rum-web.
To summarize, we need the following to close out:
- Statically set user id at initialization time
- Statically set session id at initialization time
In addition, I have also received feedback for
- Dynamically set user id at runtime
- Dynamically set session id at runtime
- Dynamically start, stop, and get current session at runtime
from aws-rum-web.
Related Issues (20)
- [Bug]: Cannot override title attribute in metadata HOT 3
- [Bug]: CWR: Failed to retrieve credentials from STS: TypeError: Cannot read properties of undefined (reading 'split') HOT 1
- [Feature Request]: create a separate AwsRum orchestrator to use with proxy HOT 1
- [Bug]: RUM stopped sending metrics after some user idle time HOT 2
- fix: optionally write HttpEvent.statusText
- [Feature Request]: optionally persist custom attributes
- [Feature Request]: collect metadata for connection type
- [Feature Request]: offline support HOT 5
- [General Inquiry]: Cloudwatch CDN NextJS HOT 1
- [General Inquiry]: missing stacktrace when recording js errors with RUM HOT 2
- [Feature Request]: Support for native mobile apps HOT 2
- [Feature Request]: error-free session_count V.S. No. of sessions experienced error
- [Feature Request]: Easier error ignore function HOT 1
- [Bug]: Use of moved dependancies HOT 1
- [Bug]: CloudWatch Data Protection Policy not applied in RUM UI HOT 1
- [Feature Request]: Error.cause
- [Bug]: CWR: Failed to retrieve Cognito OpenId token: TypeError: Failed to fetch HOT 2
- [Feature Request][CDK]: Allow property customization with resource delegation
- [Feature Request]: Update CookieAttributes.unique behavior to control cwr_c name HOT 2
- [Documentation]: Proxy setup instructions HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aws-rum-web.