0
0
mirror of https://github.com/PostHog/posthog.git synced 2024-12-01 04:12:23 +01:00
Commit Graph

916 Commits

Author SHA1 Message Date
Paolo D'Amico
df49e7ae77
Experimentation pay gate (#8169) 2022-01-21 09:54:48 -06:00
Eric Duong
12da43034f
yeet(actions): Consolidate clickhouse actions to actions (#8150)
* actions working

* tests working

* types

* snapshots

* update snapshots
2022-01-21 09:42:18 -05:00
Neil Kakkar
a65e1116e0
Better experiment Significance calculations for Funnels (#8166)
* compute exposure independently for trend experiments

* use feature_flag_called instead

* make snapshot deterministic

* update funnel significance calculations
2022-01-21 10:22:07 +00:00
Neil Kakkar
01d1a4aab3
Compute exposure independently for trend experiments (#8114)
* compute exposure independently for trend experiments

* use feature_flag_called instead

* make snapshot deterministic
2022-01-20 16:46:00 +00:00
Karl-Aksel Puulmann
153b58d9f9
Use structlog over logging (#8155) 2022-01-20 10:48:06 +02:00
Rick Marron
24b7e7afe4
only get recordings for paths + trends (#8127) 2022-01-19 10:49:12 -08:00
Eric Duong
2ea18b382b
Encode prepared urls (#8103)
* encode

* don't use named

* fix typing

* add test

* add more comment

* remove lamdbas

* restore original
2022-01-19 09:29:00 -05:00
Eric Duong
6b6de16826
fix(cohorts): don't substitute params (#8124)
* don't substitute

* add test
2022-01-19 09:28:44 -05:00
Rick Marron
2b9917a915
Recordings in paths (#8015)
* add recordings to path query

* uncomment cache

* add clarifying comment

* works for start/end paths

* move to extra fields/properties

* add tests

* cleanup

* update ff name

* fix flaky test

* test and handle path_dropoff_key case
2022-01-18 15:29:52 -08:00
Eric Duong
a71e899605
Yeetcode (#7830)
* remove django query tests

* remove funnel and caching check

* remove ee available var

* remove is_clickhouse_enabled

* remove abstract tests

* change primary db

* missing func

* unnecessary test

* try new e2e ci

* func arg

* remove param

* ci

* remove plugins in docker

* background

* change ur;

* add kafka url

* add step

* update docker

* primary docker file

* mount volumes correctly

* one more

* remove postgres tests

* remove foss

* remove all  is_clickhouse_neabled

* remove irrelelvant test

* remove extra arg

* remove var

* arg

* add foss comment

* add foss comment

* plugin server config

* Update posthog/utils.py

Co-authored-by: Karl-Aksel Puulmann <macobo@users.noreply.github.com>

* migrate commands

* comment

* add clickhouse to pg tests

* change script

* change ordering

* deepsource

* restore foss tests

* test remove KAFKA_ENABLED from CI

* always wait

* up proper resources

* use one conftest

* restore

* remove unnecessary tests

* remove more pg

* log event tests

* fix more tests

* more tests

* type

* fix more tests

* last test

* typing

* account for shared class setup

* temp test cloud

* restore cloud master checkout

* adjust contexts

* backwards

Co-authored-by: Karl-Aksel Puulmann <macobo@users.noreply.github.com>
Co-authored-by: yakkomajuri <yakko.majuri@gmail.com>
2022-01-18 14:32:28 -05:00
Eric Duong
dc0fa2dc6d
fix(retention): actor bug (#8079)
* add team param

* move test

* restore
2022-01-18 12:05:47 -05:00
Neil Kakkar
7bf0cbbf4f
Secondary experiment metrics backend (#8065)
* wip secondary experiments

* clean up

* tweak initialiser
2022-01-18 16:42:48 +00:00
Alex Gyujin Kim
204ca1bc92
Add verified properties to event definitions (#8081)
Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
2022-01-18 08:38:55 -06:00
Karl-Aksel Puulmann
cae9b59779
Fix lifecycle rounding logic (#8057) 2022-01-18 09:52:49 +02:00
Paolo D'Amico
eafa0225ce
More pre-instrumentation for collaboration (#8049) 2022-01-17 13:23:45 -08:00
Paul D'Ambra
ac72b61eb0
Auto detect property types when ingesting events (#7923)
* stores numeric type for property definitions

* writes property definition type for strings

* can write dates for simple string cases as property definition type

* simplify property definition types

* can detect unix timestamps

* rewmove a little more from the test duplication

* some more timestamp thinking

* clearer comment

* rename refactor in tests

* more test correction

* address test failure

* another test fix

* property type as enum

* simplify type detection

* apply typing suggestion

* allow property definition type and format to be set if property is present but they are null

* add more date types for property_type_formats

* add more datetime formats that the backend can accept and filter events with

* delete conflicting migration

* add migration for backend datetime formats

* plugin server can auto detect all the types the backend knows about. And the tests are collapsed from twenty five almost identical tests to two different parameterised blocks

* iso 8601 strings can have fractional seconds

* add link to the RFC 822 regex pattern

* capitalise SQL

* capitalise the SQL the mock looks for too

* remove the under-eager cache change that allowed updating existing property definitions

* convert property type formats to enum

* fix test

* try detecting a property type for existing property definitions but don't keep retrying

* use symbols to make cache state clearer

* fix idiocy

* speculative LRU cache usage with measurement

* tag the statsd guages instead of having team id in the name

* don't pre-emptively optimise the cache

* rename migration

* remove spaces from query strings

* separate property definition code from the team manager

* a little tidying

* correct type definition

* correct test params setup
2022-01-14 15:48:20 +00:00
Neil Kakkar
aa7a37c5e2
Fix Experimentation bug (#8061) 2022-01-14 13:08:03 +00:00
Paolo D'Amico
2c5d9997ca
Extra sessions cleanup (#8037) 2022-01-13 19:20:47 -06:00
Paul D'Ambra
1974cbb3d2
Remove hard-coded DateTime knowledge from Property Filter UI (#7892)
* wip

* display known unix timestamps as date strings in property filter select box

* show selected unix timestamp property as a datetime string in the property filter

* remove console.log

* update test to construct property definition correctly

* correct another test

* dates have different operators

* format property filter values for display in Select boxes and the PropertyValue component

* fix typescript error

* it _is_ a type, I don't need to say it is

* don't have before and after for unmatched types of operators

* separate the current applicable operators and the operator to display mapping, and add cypress tests for before and after operator visibility

* correct cypress test

* remove unused method

* remove dangling comment

* why does test fail in CI but not locally

* why does test fail in CI but not locally

* why does test fail in CI but not locally

* log values of operator options, why does this fail in CI but not locally

* why does test fail in CI but not locally

* intercept more decide calls to try and set feature flags from cypress test

* why does test fail in CI but not locally

* Remove cypress install

* add a readme for how to test feature flags so it isn't lost if there are no tests currently testing feature flags
2022-01-13 20:10:39 +00:00
Karl-Aksel Puulmann
39f91a6d82
Drop sessions backend support (#8022) 2022-01-13 11:40:11 -06:00
Karl-Aksel Puulmann
d9bc06b7dd
Speed up lifecycle query (#8021)
* refactor(lifecycle): simplify clickhouse sql logic

This updates the SQL to be comprised of two queries, one for getting
new, returning, and resurrecting periods of activity, one for getting
dormant periods right after periods of activity.

Refers to https://github.com/PostHog/posthog/issues/7382

* refactor(lifecyle): use `ClickhouseEventQuery` to build event query

* format

* Use bounded_person_activity_by_period for both sides of dormant join

* refactor(lifecycle): reduce pdi2 join by one

This means we're now under the current query memory limit for orgs with
around 20m distinct_ids. It does remove some readability though :(

* update snapshot

* Add further comments to query

* Add further comments to query

* Add further comments to query

* Remove dead variables

* Refactor person_query overriding

* Lifecycle refactoring continued

* Update lifecycle tests (except people ones)

* Make lifecycle people endpoint happy

* Remove django lifecycle tests

* Add some edge case tests

* Add missing type

Co-authored-by: Harry Waye <harry@posthog.com>
2022-01-13 16:31:09 +02:00
Marius Andra
066c172c81
Case insensitive property searching (#8020)
* case insensitive searching

* select direct match, even if case is different
2022-01-13 15:16:28 +01:00
Li Yi Yu
c1cd3280e4
Fix experimentation updating (#7986)
Co-authored-by: Neil Kakkar <neilkakkar@gmail.com>
2022-01-13 13:53:43 +00:00
Karl-Aksel Puulmann
d459dc4ca8
Benchmarks: trends breakdown and lifecycle with filtering (#8018)
* Add benchmarks for trends breakdown

* Add lifecycle benchmarks
2022-01-13 11:53:00 +02:00
Eric Duong
836d5609f3
Fix element chain on autocapture (#7992) 2022-01-12 13:38:57 -06:00
Karl-Aksel Puulmann
784c7d3b08
Related groups query refactor (#7978)
* Resolve weird SQL formatting issue

* Use a discriminated union for ActorType

* Use standard response types for related groups

* Update typing

* Always filter related actors by group type index

* Update snapshots & typing
2022-01-12 13:15:43 +02:00
Karl-Aksel Puulmann
1ccb45f678
Allow renaming group types (#7974)
* Migration to add name_singular and name_plural to groups

* Allow modifying group type names

* Use name_plural and name_singular through the app

* Update tab names

* fixup

* Update snapshots
2022-01-12 09:31:43 +00:00
Li Yi Yu
21b52dc98a
Add trends option to experiment (#7947)
* add trends option to experiment

(cherry picked from commit be9b8911f9)

* connect trends experiments

* clean up some stuff

* fix test

* results chart display for trends

* fix some issues with trends

* add in loading states and different insight types results wording

* move experiment results into loader

* add progress bar and clean up loading state

* fix experiment insight type bug

* add text beneath percent bar

* typing..

* single filter hide duplicate row button

Co-authored-by: Neil Kakkar <neilkakkar@gmail.com>
2022-01-11 18:50:35 -05:00
Neil Kakkar
83c1e4c41c
Ensure deleting an experiment deletes the associated FF (#7981)
* ensure deleting an experiment deletes the associated FF

* address comment

* use FF serializer

* ensure FF variants are distributed correctly
2022-01-11 16:39:24 +00:00
Yakko Majuri
7479f141b3
fix tests (#7984) 2022-01-11 12:18:00 -03:00
Yakko Majuri
fb22989e02
show last event ingested timestamp in system status (#7979)
* show last event ingested timestamp in system status

* fix tests
2022-01-11 14:17:10 +00:00
Neil Kakkar
bed26c1c8f
reduce precision on trend experiment result tests (#7982) 2022-01-11 13:51:26 +00:00
Michael Matloka
54716379c3
Clarify PostHog person deletion quirk (#7977)
* Don't delete events from Postgres since we don't do it on CH

* Update frontend for accuracy

* Update test_person.py

* Don't display "ID-less user" as a link
2022-01-11 13:26:46 +00:00
Yakko Majuri
10d8c59146
auto complete non required async migrations at migrate step (#7942) 2022-01-10 15:34:07 -03:00
Guido Iaquinti
b7235282e9
Remove references to 'CLICKHOUSE_INITIAL_MIGRATIONS' (#7960) 2022-01-10 12:14:50 +02:00
Rick Marron
a3906d7f1c
Add recordings to trends person modal (#7852)
* add events for recordings to actor response in trends

* order of events doesnt matter in tests

* fix snapshots

* move to recordings objects

* filter to actual recording

* rename include_matched_recordings to include_recordings

* add benchmarks

* remove benchmark

* materialize window and session_id

* add frontend for recordings in person modal

* run prettier

* fix ff query param

* remove session_id + window_id materialization

* cleanup

* fix ts errors

* update snapshots

* fix tests

* rename TrendsPersonQuery -> ClickhouseTrendsActors

* remove flaky snapshot

* clean up should_include_recordings
2022-01-07 14:51:30 -08:00
Neil Kakkar
9f9b5f3ec3
Switch around experiment calculation methods (#7943)
* switch around experiment calculation methods

* cleanup add new comments
2022-01-07 16:02:52 +00:00
Neil Kakkar
982562db6a
Trend multivariate experiments backend (#7924)
* backend for trend experiment results

* cleanup

* address comment, remove flake

* add deps for docker build

* wip

* wip

* wip

* wip

* funnel multivariate experiments

* cleanup

* clean up

* remove numpy from requirements

* make typing happy until Li fixes this properly

* trend multivariate experiments

* clean
2022-01-06 13:44:18 -05:00
Paolo D'Amico
7ecdade38d
Remove recording retention policy for Postgres (#7925) 2022-01-06 11:12:21 -06:00
Neil Kakkar
b805a7e67f
Funnel multivariate experiment results API (#7922)
* funnel multivariate experiments

* cleanup

* remove numpy from requirements
2022-01-06 15:46:11 +00:00
Eric Duong
34d45e3436
[cohort] insight cohorts (#7569)
* initial working'

* fix tests

* correct tests

* typing

* update snapshot

* add funnel test

* remove unnused

* rest of tests

* function name

* typing

* raise if debugging otherwise send to sentry

* no limit option for cohorts

* remove duplicate

* propogate types correctly

* add param

* cleanup

* update snapshots

* add comment

* change var name

* reverse arg

* use func

* fix tests and types

* add simplify

* move simplification

* adjust checks

* explicit type

* don't init
2022-01-06 10:38:29 -05:00
Paolo D'Amico
a714528c3f
Exception when kafka is down (#7905) 2022-01-06 07:21:37 -06:00
Neil Kakkar
50bbafa33b
Backend for trend experiment results (#7878)
* backend for trend experiment results

* address comment, remove flake

* sort out dependencies
2022-01-05 17:15:12 +00:00
Li Yi Yu
5d12386970
Experiments multivariate support FE (#7865)
* add experiment group variant options

* move integration instructions to view page

* redo experiment group multivariate flags frontend

* spacing

* typing

* move variants under parameters, allow variant deletion, and disable editing for control group variant

* rename control_group

* fix start_date keyerror

* update text

* temporary change

* fix variants limit

* fix start_date conditional again
2022-01-05 11:27:28 -05:00
Karl-Aksel Puulmann
9141996e1c
Proposal: Set time bounds for "all of time" filter (#7849)
* Set time bounds for "all of time" filter

We won't display data points from before 2015 anymore, avoiding
confusion like in https://github.com/PostHog/posthog/issues/7626

* Disable dates before 2015, add tooltip
2022-01-05 14:34:33 +02:00
Karl-Aksel Puulmann
2b58fc3f79
Proposal: Fix performance issues caused by actions page (#7855)
* Remove flipsort related logic

* Only load events from the last 6 months in events table

* Disable customization in actions tab

* Rename prop

* Dont poll events in actions page

* Show a different header above events table in actions page

* Update tests with frozen time

* Decouple months of actions tab with other months

* Calculate action count over 3 months

* Update tests
2022-01-05 13:57:20 +02:00
Karl-Aksel Puulmann
c2bddf09a2
Remove "minute" interval (#7847)
* Remove `minute` interval support from frontend

* Remove minute support from backend, default to hour instead

Also adds tests for interval logic

* Remove now-dead minute support from backend

* revert interval_candidate logic

* Move IntervalMixin to separate file
2022-01-05 13:11:58 +02:00
Karl-Aksel Puulmann
e5ee7b4270
Read from and write to person_distinct_id2 if async migration is done (#7846)
* Run queries against person_distinct_id2 when async migration is done

* Only write to clickhouse_person_unique_id topic if async migration is incomplete

* Update query snapshots

* Update plugin-server

* Adjust caching logic
2022-01-05 13:11:33 +02:00
Karl-Aksel Puulmann
2139a6e204
Add measure.sh helper script to repo (#7877) 2022-01-05 12:46:08 +02:00
Neil Kakkar
8d7614bc7c
Multivariate Experiment backend creation flow (#7884)
* enable creating multivariate experiments
2022-01-04 15:55:58 +00:00