-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
feat: Add person info to events #9404
Conversation
fd7cd27
to
8d2f222
Compare
6d4e322
to
d873578
Compare
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.
looking good, some nits.
I wonder if it's a worthy project for the future to have posthog_persondistinctid
map distinct id -> UUID and add an index for posthog_person
to use UUID. Probably is - toss it in the backlog lol
plugin-server/src/utils/db/db.ts
Outdated
if (personId !== null) { | ||
return await this.getPersonInfoThroughCache(teamId, personId) | ||
} | ||
return [null, null, null] |
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 think I'd rather return an object as that makes it much easier to work with instead of having to remember the order of the returned values
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.
mostly looks good. one comment + have you tested JSON ingestion with this change?
@@ -576,6 +576,9 @@ export class EventsProcessor { | |||
|
|||
const elementsChain = elements && elements.length ? elementsToString(elements) : '' | |||
|
|||
// TODO: don't parse back and forth with json |
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.
let's then just add a flag getRawProperties
or something. It can event be a separate value in the return object
Yes, check the test plan. |
Wanna give the Kafka Inspector a try and see what the raw message looks like? @tiina303 😉 |
ddcb960
to
f935606
Compare
@@ -663,6 +768,7 @@ export class DB { | |||
} | |||
|
|||
await this.updatePersonPropertiesCache(updatedPerson.team_id, updatedPerson.id, updatedPerson.properties) | |||
await this.updatePersonCreatedAtCache(updatedPerson.team_id, updatedPerson.id, updatedPerson.created_at) |
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.
forgot this earlier - on merges we might be updating create_at currently too
Very nice! |
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.
lgtm
let's monitor as we merge and confirm:
a) that all events are being ingested with no issues
b) what the messages look like in Kafka
Tested without |
Tested locally without the schema change, it worked fine ( |
* master: (137 commits) feat(cohorts): add cohort filter grammars (#9540) feat(cohorts): Backwards compatibility of groups and properties (#9462) perf(ingestion): unsubscribe from buffer topic while no events are produced to it (#9556) fix: Fix `Loading` positioning and `LemonButton` disabled state (#9554) test: Speed up backend tests (#9289) fix: LemonSpacer -> LemonDivider (#9549) feat(funnels): Highlight significant deviations in new funnel viz (#9536) docs(storybook): Lemon UI (#9426) feat: add support for list of teams to enable the conversion buffer for (#9542) chore(onboarding): cleanup framework grid experiment (#9527) fix(signup): domain provisioning on cloud (#9515) chore: split out async migrations ci (#9539) feat(ingestion): enable json ingestion for self-hosted by default (#9448) feat(cohort): add all cohort filter selectors to Storybook (#9492) feat(ingestion): conversion events buffer consumer (#9432) ci(run-backend-tests): remove CH version default (#9532) feat: Add person info to events (#9404) feat(ingestion): produce to buffer partitioned by team_id:distinct_id (#9518) fix: bring latest_migrations.manifest up to date (#9525) chore: removes unused feature flag (#9529) ...
Problem
For #9180
Changes
👉 Stay up-to-date with PostHog coding conventions for a smoother review.
Depends on #9377
How did you test this code?
In local CH instance
btw didn't see any change in the UI so we might need to change that too (note that I wasn't running on top of the branch with migration):