-
-
Notifications
You must be signed in to change notification settings - Fork 831
EPC: Add StorageManager #3806
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EPC: Add StorageManager #3806
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
51b1833 to
598e99f
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
598e99f to
239ba0f
Compare
239ba0f to
fd74b05
Compare
|
By the way, why is the User-Agent string stored with all events in the old client? I added it here, too, just to match the old client, but can it be removed? |
fd74b05 to
2a262a9
Compare
Hm good catch - it looks like the old system sets the request header value for "User-Agent". The only reason I can think is we save the user agent as the request is generated and persisted. If they happen to update the app or OS before the event is posted, this way the user agent sent is the old one when the event occured, and not the new one when the event is posted. In |
156ab60 to
14cb920
Compare
If I recall correctly, the old EventLogging system supplements the event data that ultimately gets stored in the DB with the producer's user-agent. I don't think that currently happens (yet) for the Event Platform, but I'd have to double-check on that (though maybe @linehan knows off the top of his head). In any event, is this just being used as a proxy for the app version? Can we update the relevant schema(s) to explicitly require an app version string instead, rather than continuing to spoof older user-agent headers? |
The |
Ah, sorry, I was talking about the server-side behavior of the legacy |
The fields in the http fragment, specifically
I was thinking along these lines, except I was thinking to let the client set a I think the intention of a user agent as, roughly, "the software and version of the originator of this HTTP request" makes sense and has a cross-platform interpretation (it's tied to HTTP as a protocol, rather than to any specific notion of how that user agent string is structured), so it's probably not necessary for us to distinguish app version versus browser version versus anything else as long as user agent strings are distinct and canonical, it makes sense to me. |
I guess I would want to know how it's being used by PMs and data analysts (or whomever is querying this data). I would think in general that breaking out the specific data of interest would make queries easier to write and more performant to execute than doing something like |
Aah yeah, that is a good point. I think the practice is for a back-end processor to eat these strings and spit out something categorical like "firefox", "wikipedia-ios", "mobile-safari", etc. This is most often used as a dimension to break down events by browser or (possibly) version.
Being pedantic is totally cool. Is user agent a bad place/way for the app to represent itself, though? I always thought about it as the piece of software (including version) which is the user's agent in the HTTP request. So, IIRC Chrome and some other browser vendors want to move away from having UA strings in their HTTP requests. I don't know if this means that |
14cb920 to
c0faca2
Compare
c0faca2 to
c71e817
Compare
|
OK, I zapped the User-Agent from the DB but we can revert that if need be, of course. I also noticed that the earlier Core Data model for EPC storage was still floating around in the repo, so I added a commit deleting that, too. I'll remove the Draft tag since I think this is beyond that point now. |
tonisevener
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One last code review comment from my end. I did some lightweight testing and it's working well!
0daa6df to
56da68f
Compare
tonisevener
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been testing this morning and everything looks great. I believe I have marked all the issues I brought up as resolved, leaving the others for @linehan to confirm. Thanks @mdholloway!
|
Looks good to me, many thanks @mdholloway and @tonisevener, excellent work. |
No description provided.