Date: Tue, 19 Jul 2022 15:56:13 -0700
Subject: [PATCH 112/213] fix: Return a 400 when decide gets a request missing
distinct_id (#10887)
* fix: Return a 400 when decide gets a request missing distinct_id
* small cleanup, use var instead of grabbing out of dict
---
posthog/api/decide.py | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/posthog/api/decide.py b/posthog/api/decide.py
index 3a46680f2b56eb..f575ae05be49a5 100644
--- a/posthog/api/decide.py
+++ b/posthog/api/decide.py
@@ -142,8 +142,20 @@ def get_decide(request: HttpRequest):
team = user.teams.get(id=project_id)
if team:
+ distinct_id = data.get("distinct_id")
+ if distinct_id is None:
+ return cors_response(
+ request,
+ generate_exception_response(
+ "decide",
+ "Decide requires a distinct_id.",
+ code="missing_distinct_id",
+ type="validation_error",
+ status_code=status.HTTP_400_BAD_REQUEST,
+ ),
+ )
feature_flags = get_active_feature_flags(
- team.pk, data["distinct_id"], data.get("groups", {}), hash_key_override=data.get("$anon_distinct_id")
+ team.pk, distinct_id, data.get("groups", {}), hash_key_override=data.get("$anon_distinct_id")
)
response["featureFlags"] = feature_flags if api_version >= 2 else list(feature_flags.keys())
From 1abdb19c60aa1d8d071cf62ac9aa17c3c80e75ce Mon Sep 17 00:00:00 2001
From: "posthog-contributions-bot[bot]"
<80958034+posthog-contributions-bot[bot]@users.noreply.github.com>
Date: Wed, 20 Jul 2022 01:10:27 +0200
Subject: [PATCH 113/213] =?UTF-8?q?chore(contributors):=20=F0=9F=A4=96=20-?=
=?UTF-8?q?=20Add=20klink=20as=20a=20contributor=20=F0=9F=8E=89=20(#10888)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.all-contributorsrc | 9 +++++++++
README.md | 4 ++--
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/.all-contributorsrc b/.all-contributorsrc
index 185d1aece9bc08..dfe9021b6f4cf2 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -1935,6 +1935,15 @@
"contributions": [
"code"
]
+ },
+ {
+ "login": "klink",
+ "name": "Kate Klink",
+ "avatar_url": "https://avatars.githubusercontent.com/u/5008686?v=4",
+ "profile": "http://kateklink.com",
+ "contributions": [
+ "code"
+ ]
}
],
"contributorsPerLine": 7,
diff --git a/README.md b/README.md
index 030156160be64e..3781441f39c512 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
-
+
@@ -104,7 +104,7 @@ Premium features (contained in the `ee` directory) require a PostHog license. Co
-
+
From 47fd0b2f3db388c5eb981de353a1ef331b916bf0 Mon Sep 17 00:00:00 2001
From: Paul D'Ambra
Date: Wed, 20 Jul 2022 08:09:47 +0100
Subject: [PATCH 114/213] chore: gauge tiles with no hash to statsd (#10885)
* chore: gauge tiles with no hash to statsd
* but not every thirty seconds, that would be silly
* remove unused variable
* no need to read settings way at the top of the file
---
posthog/celery.py | 28 +++++++++++++++++-----------
posthog/settings/__init__.py | 4 ++++
2 files changed, 21 insertions(+), 11 deletions(-)
diff --git a/posthog/celery.py b/posthog/celery.py
index 413d9838e5be4b..95115e69f65c14 100644
--- a/posthog/celery.py
+++ b/posthog/celery.py
@@ -33,15 +33,6 @@
app.steps["worker"].add(DjangoStructLogInitStep)
-# How frequently do we want to calculate action -> event relationships if async is enabled
-ACTION_EVENT_MAPPING_INTERVAL_SECONDS = settings.ACTION_EVENT_MAPPING_INTERVAL_SECONDS
-
-# How frequently do we want to calculate event property stats if async is enabled
-EVENT_PROPERTY_USAGE_INTERVAL_SECONDS = settings.EVENT_PROPERTY_USAGE_INTERVAL_SECONDS
-
-# How frequently do we want to check if dashboard items need to be recalculated
-UPDATE_CACHED_DASHBOARD_ITEMS_INTERVAL_SECONDS = settings.UPDATE_CACHED_DASHBOARD_ITEMS_INTERVAL_SECONDS
-
@setup_logging.connect
def receiver_setup_logging(loglevel, logfile, format, colorize, **kwargs) -> None:
@@ -95,7 +86,7 @@ def setup_periodic_tasks(sender: Celery, **kwargs):
sender.add_periodic_task(crontab(minute=30, hour="*"), sync_all_organization_available_features.s())
sender.add_periodic_task(
- UPDATE_CACHED_DASHBOARD_ITEMS_INTERVAL_SECONDS, check_cached_items.s(), name="check dashboard items"
+ settings.UPDATE_CACHED_DASHBOARD_ITEMS_INTERVAL_SECONDS, check_cached_items.s(), name="check dashboard items"
)
sender.add_periodic_task(crontab(minute="*/15"), check_async_migration_health.s())
@@ -118,7 +109,7 @@ def setup_periodic_tasks(sender: Celery, **kwargs):
if settings.ASYNC_EVENT_PROPERTY_USAGE:
sender.add_periodic_task(
- EVENT_PROPERTY_USAGE_INTERVAL_SECONDS,
+ settings.EVENT_PROPERTY_USAGE_INTERVAL_SECONDS,
calculate_event_property_usage.s(),
name="calculate event property usage",
)
@@ -158,6 +149,12 @@ def setup_periodic_tasks(sender: Celery, **kwargs):
# Hourly check for email subscriptions
sender.add_periodic_task(crontab(hour="*", minute=55), schedule_all_subscriptions.s())
+ sender.add_periodic_task(
+ settings.COUNT_TILES_WITH_NO_FILTERS_HASH_INTERVAL_SECONDS,
+ count_tiles_with_no_hash.s(),
+ name="count tiles with no filters_hash",
+ )
+
# Set up clickhouse query instrumentation
@task_prerun.connect
@@ -174,6 +171,15 @@ def teardown_instrumentation(task_id, task, **kwargs):
client._request_information = None
+@app.task(ignore_result=True)
+def count_tiles_with_no_hash() -> None:
+ from statshog.defaults.django import statsd
+
+ from posthog.models.dashboard_tile import DashboardTile
+
+ statsd.gauge("dashboard_tiles.with_no_filters_hash", DashboardTile.objects.filter(filters_hash=None).count())
+
+
@app.task(ignore_result=True)
def redis_heartbeat():
get_client().set("POSTHOG_HEARTBEAT", int(time.time()))
diff --git a/posthog/settings/__init__.py b/posthog/settings/__init__.py
index 8d1a5bf1a1def1..a2c3917b88927f 100644
--- a/posthog/settings/__init__.py
+++ b/posthog/settings/__init__.py
@@ -86,6 +86,10 @@
"UPDATE_CACHED_DASHBOARD_ITEMS_INTERVAL_SECONDS", 90, type_cast=int
)
+COUNT_TILES_WITH_NO_FILTERS_HASH_INTERVAL_SECONDS = get_from_env(
+ "COUNT_TILES_WITH_NO_FILTERS_HASH_INTERVAL_SECONDS", 1800, type_cast=int
+)
+
# Whether to capture internal metrics
CAPTURE_INTERNAL_METRICS = get_from_env("CAPTURE_INTERNAL_METRICS", False, type_cast=str_to_bool)
From d010c76585c3dd4cf414285f9b5879028723b2d3 Mon Sep 17 00:00:00 2001
From: Guido Iaquinti <4038041+guidoiaquinti@users.noreply.github.com>
Date: Wed, 20 Jul 2022 09:56:30 +0200
Subject: [PATCH 115/213] chore(load_data_from_request): make sure it's a dict
(#10878)
---
posthog/utils.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/posthog/utils.py b/posthog/utils.py
index 21561c1e10c2d6..4ae4e5c8579b74 100644
--- a/posthog/utils.py
+++ b/posthog/utils.py
@@ -520,7 +520,8 @@ def load_data_from_request(request):
# add the data in sentry's scope in case there's an exception
with configure_scope() as scope:
- scope.set_context("data", data)
+ if isinstance(data, dict):
+ scope.set_context("data", data)
scope.set_tag("origin", request.headers.get("origin", request.headers.get("remote_host", "unknown")))
scope.set_tag("referer", request.headers.get("referer", "unknown"))
# since version 1.20.0 posthog-js adds its version to the `ver` query parameter as a debug signal here
From d0343368b836e219135ce986baa28ef5c669be08 Mon Sep 17 00:00:00 2001
From: Tiina Turban
Date: Wed, 20 Jul 2022 11:36:52 +0200
Subject: [PATCH 116/213] fix: don't spam sentry with coordinator not aware
errors (#10703)
---
.../src/main/ingestion-queues/kafka-queue.ts | 24 +++++++++++++------
1 file changed, 17 insertions(+), 7 deletions(-)
diff --git a/plugin-server/src/main/ingestion-queues/kafka-queue.ts b/plugin-server/src/main/ingestion-queues/kafka-queue.ts
index 63c0d165a705b8..78908102db76d4 100644
--- a/plugin-server/src/main/ingestion-queues/kafka-queue.ts
+++ b/plugin-server/src/main/ingestion-queues/kafka-queue.ts
@@ -117,13 +117,23 @@ export class KafkaQueue {
"Probably the batch took longer than the session and we couldn't commit the offset"
)
}
- if (
- error.message &&
- !error.message.includes('The group is rebalancing, so a rejoin is needed') &&
- !error.message.includes('Specified group generation id is not valid') &&
- !error.message.includes('Could not find person with distinct id')
- ) {
- Sentry.captureException(error)
+ if (error.message) {
+ let logToSentry = true
+ const messagesToIgnore = {
+ 'The group is rebalancing, so a rejoin is needed': 'group_rebalancing',
+ 'Specified group generation id is not valid': 'generation_id_invalid',
+ 'Could not find person with distinct id': 'person_not_found',
+ 'The coordinator is not aware of this member': 'not_aware_of_member',
+ }
+ for (const [msg, metricSuffix] of Object.entries(messagesToIgnore)) {
+ if (error.message.includes(msg)) {
+ this.pluginsServer.statsd?.increment('each_batch_error_' + metricSuffix)
+ logToSentry = false
+ }
+ }
+ if (logToSentry) {
+ Sentry.captureException(error)
+ }
}
throw error
}
From 23e6c33bf3b5ced2607df69a6c388766fe30c90c Mon Sep 17 00:00:00 2001
From: Eric Duong
Date: Wed, 20 Jul 2022 06:54:39 -0400
Subject: [PATCH 117/213] fix(funnel-breakdown): bad link (#10750)
* fix-10691
* remove log
Co-authored-by: Marius Andra
---
frontend/src/scenes/funnels/FunnelBarChart.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/frontend/src/scenes/funnels/FunnelBarChart.tsx b/frontend/src/scenes/funnels/FunnelBarChart.tsx
index a969f023d72819..a1d1973e8c90f1 100644
--- a/frontend/src/scenes/funnels/FunnelBarChart.tsx
+++ b/frontend/src/scenes/funnels/FunnelBarChart.tsx
@@ -246,7 +246,7 @@ export function FunnelBarChart({ showPersonsModal = true }: ChartParams): JSX.El
{visibleStepsWithConversionMetrics.map((step, stepIndex) => (
Date: Wed, 20 Jul 2022 14:07:01 +0200
Subject: [PATCH 118/213] perf(Persons): Use clickhouse for person endpoint
(#10868)
* perf(Persons): Use clickhouse for person endpoint
* update api
* Use uuids everywhere
* fix cohort id
* Update snapshots
* Update snapshots
* fix api
* fix order by
* Update snapshots
* Update snapshots
* fix api
* fix api
* Update snapshots
* fix ordering
* Update snapshots
* Update snapshots
* fix nits
* Update snapshots
Co-authored-by: timgl
Co-authored-by: posthog-bot
---
.../test/__snapshots__/test_person_query.ambr | 44 +++-
.../CommandPalette/commandPaletteLogic.ts | 2 +-
frontend/src/models/cohortsModel.ts | 23 +--
frontend/src/scenes/funnels/funnelLogic.ts | 24 ---
frontend/src/scenes/persons/PersonsSearch.tsx | 12 +-
posthog/api/cohort.py | 2 +-
posthog/api/documentation.py | 4 +
posthog/api/person.py | 193 +++++++++---------
posthog/api/routing.py | 25 ++-
posthog/api/test/test_cohort.py | 77 +++++++
posthog/api/test/test_event.py | 3 +
posthog/api/test/test_person.py | 151 +++-----------
posthog/api/utils.py | 11 +
posthog/models/event/query_event_list.py | 3 +-
posthog/models/filters/filter.py | 4 +
posthog/models/filters/mixins/common.py | 22 ++
posthog/queries/actor_base_query.py | 6 +-
posthog/queries/person_query.py | 57 +++++-
18 files changed, 374 insertions(+), 289 deletions(-)
diff --git a/ee/clickhouse/queries/test/__snapshots__/test_person_query.ambr b/ee/clickhouse/queries/test/__snapshots__/test_person_query.ambr
index 9cf2d19be32ffc..944792e1daf05e 100644
--- a/ee/clickhouse/queries/test/__snapshots__/test_person_query.ambr
+++ b/ee/clickhouse/queries/test/__snapshots__/test_person_query.ambr
@@ -6,7 +6,9 @@
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0
+ HAVING max(is_deleted) = 0
+
+
'
@@ -19,7 +21,9 @@
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0 AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s)
+ HAVING max(is_deleted) = 0
+ AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s)
+
'
@@ -32,7 +36,9 @@
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0 AND (( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0_0)s OR replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__0_1)s), '^"|"$', '') ILIKE %(vpersonquery__0_1)s))
+ HAVING max(is_deleted) = 0
+ AND (( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0_0)s OR replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__0_1)s), '^"|"$', '') ILIKE %(vpersonquery__0_1)s))
+
'
@@ -45,7 +51,9 @@
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0 AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s AND has(%(vpersonquery__1)s, replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__1)s), '^"|"$', '')) AND has(%(vpersonquery__2)s, replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__2)s), '^"|"$', '')))
+ HAVING max(is_deleted) = 0
+ AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s AND has(%(vpersonquery__1)s, replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__1)s), '^"|"$', '')) AND has(%(vpersonquery__2)s, replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__2)s), '^"|"$', '')))
+
'
@@ -58,7 +66,9 @@
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0
+ HAVING max(is_deleted) = 0
+
+
'
@@ -71,7 +81,9 @@
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0 AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s)
+ HAVING max(is_deleted) = 0
+ AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s)
+
'
@@ -84,7 +96,9 @@
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0 AND (( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0_0)s OR replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__0_1)s), '^"|"$', '') ILIKE %(vpersonquery__0_1)s))
+ HAVING max(is_deleted) = 0
+ AND (( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0_0)s OR replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__0_1)s), '^"|"$', '') ILIKE %(vpersonquery__0_1)s))
+
'
@@ -97,7 +111,9 @@
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0 AND ((( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0_0_0)s OR replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__0_0_1)s), '^"|"$', '') ILIKE %(vpersonquery__0_0_1)s))AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__1_0)s OR replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__1_1)s), '^"|"$', '') ILIKE %(vpersonquery__1_1)s))
+ HAVING max(is_deleted) = 0
+ AND ((( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0_0_0)s OR replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__0_0_1)s), '^"|"$', '') ILIKE %(vpersonquery__0_0_1)s))AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__1_0)s OR replaceRegexpAll(JSONExtractRaw(argMax(person.properties, _timestamp), %(kpersonquery__1_1)s), '^"|"$', '') ILIKE %(vpersonquery__1_1)s))
+
'
@@ -110,7 +126,9 @@
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0 AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s)
+ HAVING max(is_deleted) = 0
+ AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s)
+
'
@@ -123,7 +141,9 @@
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0 AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s)
+ HAVING max(is_deleted) = 0
+ AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s)
+
'
@@ -136,7 +156,9 @@
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0 AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s)
+ HAVING max(is_deleted) = 0
+ AND ( argMax(person."pmat_email", _timestamp) ILIKE %(vpersonquery__0)s)
+
'
diff --git a/frontend/src/lib/components/CommandPalette/commandPaletteLogic.ts b/frontend/src/lib/components/CommandPalette/commandPaletteLogic.ts
index e0b2b3134dcd92..6db6f7f39f029d 100644
--- a/frontend/src/lib/components/CommandPalette/commandPaletteLogic.ts
+++ b/frontend/src/lib/components/CommandPalette/commandPaletteLogic.ts
@@ -237,7 +237,7 @@ export const commandPaletteLogic = kea({
setInput: async ({ input }, breakpoint) => {
await breakpoint(300)
if (input.length > 8) {
- const response = await api.get('api/person/?key_identifier=' + encodeURIComponent(input))
+ const response = await api.get('api/person/?search=' + encodeURIComponent(input))
const person = response.results[0]
if (person) {
actions.registerCommand({
diff --git a/frontend/src/models/cohortsModel.ts b/frontend/src/models/cohortsModel.ts
index cf5ed85035424a..2b76e09f70058b 100644
--- a/frontend/src/models/cohortsModel.ts
+++ b/frontend/src/models/cohortsModel.ts
@@ -5,14 +5,11 @@ import { CohortType, ExporterFormat } from '~/types'
import { personsLogic } from 'scenes/persons/personsLogic'
import { deleteWithUndo, processCohort } from 'lib/utils'
import { triggerExport } from 'lib/components/ExportButton/exporter'
-import { featureFlagLogic } from 'lib/logic/featureFlagLogic'
-import { FEATURE_FLAGS } from 'lib/constants'
const POLL_TIMEOUT = 5000
export const cohortsModel = kea({
path: ['models', 'cohortsModel'],
- connect: { values: [featureFlagLogic, ['featureFlags']] },
actions: () => ({
setPollTimeout: (pollTimeout: number | null) => ({ pollTimeout }),
updateCohort: (cohort: CohortType) => ({ cohort }),
@@ -71,7 +68,7 @@ export const cohortsModel = kea({
],
},
- listeners: ({ actions, values }) => ({
+ listeners: ({ actions }) => ({
loadCohortsSuccess: async ({ cohorts }: { cohorts: CohortType[] }) => {
const is_calculating = cohorts.filter((cohort) => cohort.is_calculating).length > 0
if (!is_calculating) {
@@ -80,17 +77,13 @@ export const cohortsModel = kea({
actions.setPollTimeout(window.setTimeout(actions.loadCohorts, POLL_TIMEOUT))
},
exportCohortPersons: async ({ id }) => {
- if (!!values.featureFlags[FEATURE_FLAGS.ASYNC_EXPORT_CSV_FOR_LIVE_EVENTS]) {
- await triggerExport({
- export_format: ExporterFormat.CSV,
- export_context: {
- path: `/api/cohort/${id}/persons`,
- max_limit: 10000,
- },
- })
- } else {
- window.open(`/api/person.csv?cohort=${id}`, '_blank')
- }
+ await triggerExport({
+ export_format: ExporterFormat.CSV,
+ export_context: {
+ path: `/api/cohort/${id}/persons`,
+ max_limit: 10000,
+ },
+ })
},
deleteCohort: ({ cohort }) => {
deleteWithUndo({
diff --git a/frontend/src/scenes/funnels/funnelLogic.ts b/frontend/src/scenes/funnels/funnelLogic.ts
index ec0468f6b1a454..36f80fb693dc4b 100644
--- a/frontend/src/scenes/funnels/funnelLogic.ts
+++ b/frontend/src/scenes/funnels/funnelLogic.ts
@@ -28,7 +28,6 @@ import {
FunnelVizType,
InsightLogicProps,
InsightType,
- PersonType,
PropertyFilter,
PropertyOperator,
StepOrderValue,
@@ -203,14 +202,6 @@ export const funnelLogic = kea({
__ignore: null as FunnelCorrelationResultsType | null,
},
loaders: ({ values }) => ({
- people: [
- [] as any[],
- {
- loadPeople: async (steps) => {
- return (await api.get('api/person/?uuid=' + steps[0].people.join(','))).results
- },
- },
- ],
correlations: [
{ events: [] } as Record<'events', FunnelCorrelation[]>,
{
@@ -496,21 +487,6 @@ export const funnelLogic = kea({
: null
},
],
- peopleSorted: [
- () => [selectors.stepsWithCount, selectors.people],
- (steps, people) => {
- if (!people) {
- return null
- }
- const score = (person: PersonType): number => {
- return steps.reduce(
- (val, step) => (person.uuid && (step.people?.indexOf(person.uuid) ?? -1) > -1 ? val + 1 : val),
- 0
- )
- }
- return [...people].sort((a, b) => score(b) - score(a))
- },
- ],
isStepsEmpty: [() => [selectors.filters], (filters: FilterType) => isStepsEmpty(filters)],
propertiesForUrl: [() => [selectors.filters], (filters: FilterType) => cleanFilters(filters)],
isValidFunnel: [
diff --git a/frontend/src/scenes/persons/PersonsSearch.tsx b/frontend/src/scenes/persons/PersonsSearch.tsx
index 4ac1c2f3f4afe6..8364292ec0fa5b 100644
--- a/frontend/src/scenes/persons/PersonsSearch.tsx
+++ b/frontend/src/scenes/persons/PersonsSearch.tsx
@@ -23,10 +23,6 @@ export const PersonsSearch = ({ autoFocus = true }: { autoFocus?: boolean }): JS
value={searchTerm}
onChange={(e) => {
setSearchTerm(e.target.value)
- if (!e.target.value) {
- setListFilters({ search: undefined })
- loadPersons()
- }
}}
enterButton
onPressEnter={(e) => {
@@ -35,8 +31,8 @@ export const PersonsSearch = ({ autoFocus = true }: { autoFocus?: boolean }): JS
loadPersons()
}}
allowClear
- onSearch={() => {
- setListFilters({ search: searchTerm || undefined })
+ onSearch={(value) => {
+ setListFilters({ search: value || undefined })
loadPersons()
}}
style={{ width: '100%' }}
@@ -46,8 +42,8 @@ export const PersonsSearch = ({ autoFocus = true }: { autoFocus?: boolean }): JS
type="stealth"
tooltip={
<>
- Search by email, name, ID, or even contents of properties. You can also search for persons who
- just have a property like so: "has:your_property".
+ Search by email or Distinct ID. Email will match partially, for example: "@gmail.com". Distinct
+ ID needs to match exactly.
>
}
icon={ }
diff --git a/posthog/api/cohort.py b/posthog/api/cohort.py
index 16734ca44da5c9..37003eb82d16d9 100644
--- a/posthog/api/cohort.py
+++ b/posthog/api/cohort.py
@@ -208,7 +208,7 @@ def persons(self, request: Request, **kwargs) -> Response:
elif not filter.limit:
filter = filter.with_data({LIMIT: 100})
- query, params = PersonQuery(filter, team.pk, cohort=cohort).get_query()
+ query, params = PersonQuery(filter, team.pk, cohort=cohort).get_query(paginate=True)
raw_result = sync_execute(query, params)
actor_ids = [row[0] for row in raw_result]
diff --git a/posthog/api/documentation.py b/posthog/api/documentation.py
index 5634a94934b055..4dea0003c8643e 100644
--- a/posthog/api/documentation.py
+++ b/posthog/api/documentation.py
@@ -106,6 +106,10 @@ class PropertiesSerializer(serializers.Serializer):
properties = PropertySerializer(required=False, many=True, help_text=property_help_text)
+class PersonPropertiesSerializer(serializers.Serializer):
+ properties = PropertySerializer(required=False, many=True, help_text="Filter Persons by person properties.")
+
+
math_help_text = """How to aggregate results, shown as \"counted by\" in the interface.
- `total` (default): no aggregation, count by events
- `dau`: count by unique users. Despite the name, if you select the `interval` to be weekly or monthly, this will show weekly or monthly active users respectively
diff --git a/posthog/api/person.py b/posthog/api/person.py
index efa71dfdada9dd..f641010f8c1fbc 100644
--- a/posthog/api/person.py
+++ b/posthog/api/person.py
@@ -12,13 +12,13 @@
cast,
)
-from django.db.models import Q
-from django.db.models.query import Prefetch
-from django_filters import rest_framework as filters
+from django.db.models import Prefetch
+from drf_spectacular.types import OpenApiTypes
+from drf_spectacular.utils import OpenApiExample, OpenApiParameter
from rest_framework import request, response, serializers, status, viewsets
from rest_framework.decorators import action
from rest_framework.exceptions import NotFound
-from rest_framework.pagination import CursorPagination
+from rest_framework.pagination import LimitOffsetPagination
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework.settings import api_settings
@@ -27,10 +27,19 @@
from statshog.defaults.django import statsd
from posthog.api.capture import capture_internal
-from posthog.api.routing import StructuredViewSetMixin
-from posthog.api.utils import format_paginated_url, get_target_entity
+from posthog.api.documentation import PersonPropertiesSerializer, extend_schema
+from posthog.api.routing import PKorUUIDViewSet, StructuredViewSetMixin
+from posthog.api.utils import format_paginated_url, get_pk_or_uuid, get_target_entity
from posthog.client import sync_execute
-from posthog.constants import CSV_EXPORT_LIMIT, INSIGHT_FUNNELS, INSIGHT_PATHS, LIMIT, TRENDS_TABLE, FunnelVizType
+from posthog.constants import (
+ CSV_EXPORT_LIMIT,
+ INSIGHT_FUNNELS,
+ INSIGHT_PATHS,
+ LIMIT,
+ OFFSET,
+ TRENDS_TABLE,
+ FunnelVizType,
+)
from posthog.decorators import cached_function
from posthog.logging.timing import timed
from posthog.models import Cohort, Filter, Person, User
@@ -43,11 +52,12 @@
from posthog.models.person.sql import GET_PERSON_PROPERTIES_COUNT
from posthog.models.person.util import delete_ch_distinct_ids, delete_person
from posthog.permissions import ProjectMembershipNecessaryPermissions, TeamMemberAccessPermission
-from posthog.queries.actor_base_query import ActorBaseQuery
+from posthog.queries.actor_base_query import ActorBaseQuery, get_people
from posthog.queries.funnels import ClickhouseFunnelActors, ClickhouseFunnelTrendsActors
from posthog.queries.funnels.funnel_strict_persons import ClickhouseFunnelStrictActors
from posthog.queries.funnels.funnel_unordered_persons import ClickhouseFunnelUnorderedActors
from posthog.queries.paths import PathsActors
+from posthog.queries.person_query import PersonQuery
from posthog.queries.property_values import get_person_property_values_for_key
from posthog.queries.retention import Retention
from posthog.queries.stickiness import Stickiness
@@ -58,11 +68,26 @@
from posthog.utils import convert_property_value, format_query_params_absolute_url, is_anonymous_id, relative_date_parse
-class PersonCursorPagination(CursorPagination):
- ordering = "-id"
- page_size = 100
- page_size_query_param = "limit"
- max_page_size = 1000
+class PersonLimitOffsetPagination(LimitOffsetPagination):
+ def get_paginated_response_schema(self, schema):
+ return {
+ "type": "object",
+ "properties": {
+ "next": {
+ "type": "string",
+ "nullable": True,
+ "format": "uri",
+ "example": "https://app.posthog.com/api/projects/{project_id}/accounts/?offset=400&limit=100",
+ },
+ "previous": {
+ "type": "string",
+ "nullable": True,
+ "format": "uri",
+ "example": "https://app.posthog.com/api/projects/{project_id}/accounts/?offset=400&limit=100",
+ },
+ "results": schema,
+ },
+ }
def get_person_name(person: Person) -> str:
@@ -87,7 +112,7 @@ class Meta:
"created_at",
"uuid",
]
- read_only_fields = ("id", "distinct_ids", "created_at", "uuid")
+ read_only_fields = ("id", "name", "distinct_ids", "created_at", "uuid")
def get_name(self, person: Person) -> str:
return get_person_name(person)
@@ -98,60 +123,6 @@ def to_representation(self, instance: Person) -> Dict[str, Any]:
return representation
-class PersonFilter(filters.FilterSet):
- email = filters.CharFilter(field_name="properties__email")
- distinct_id = filters.CharFilter(method="distinct_id_filter")
- key_identifier = filters.CharFilter(method="key_identifier_filter", help_text="Filter on email or distinct ID")
- uuid = filters.CharFilter(method="uuid_filter")
- search = filters.CharFilter(method="search_filter")
- cohort = filters.CharFilter(method="cohort_filter", help_text="ID of a cohort the user belongs to")
- properties = filters.CharFilter(method="properties_filter")
-
- def __init__(self, data=None, queryset=None, *, request=None, prefix=None, team_id=None):
- self.team_id = team_id
- return super().__init__(data=data, queryset=queryset, request=request, prefix=prefix)
-
- def distinct_id_filter(self, queryset, attr, value, *args, **kwargs):
- queryset = queryset.filter(persondistinctid__distinct_id=value, persondistinctid__team_id=self.team_id)
- return queryset
-
- def cohort_filter(self, queryset, attr, value, *args, **kwargs):
- cohort = Cohort.objects.get(pk=value)
- queryset = queryset.filter(cohort__id=cohort.pk, cohortpeople__version=cohort.version)
- return queryset
-
- def key_identifier_filter(self, queryset, attr, value, *args, **kwargs):
- """
- Filters persons by email or distinct ID
- """
- return queryset.filter(Q(persondistinctid__distinct_id=value) | Q(properties__email=value))
-
- def uuid_filter(self, queryset, attr, value, *args, **kwargs):
- uuids = value.split(",")
- return queryset.filter(uuid__in=uuids)
-
- def search_filter(self, queryset, attr, value, *args, **kwargs):
- return queryset.filter(
- Q(properties__icontains=value) | Q(persondistinctid__distinct_id__icontains=value)
- ).distinct("id")
-
- def properties_filter(self, queryset, attr, value, *args, **kwargs):
- filter = Filter(data={"properties": json.loads(value)})
- from posthog.queries.base import properties_to_Q
-
- return queryset.filter(
- properties_to_Q(
- [prop for prop in filter.property_groups.flat if prop.type == "person"],
- team_id=self.team_id,
- is_direct_query=True,
- )
- )
-
- class Meta:
- model = Person
- fields = ["email"]
-
-
def should_paginate(results, limit: Union[str, int]) -> bool:
return len(results) > int(limit) - 1
@@ -182,25 +153,69 @@ def get_funnel_actor_class(filter: Filter) -> Callable:
return funnel_actor_class
-class PersonViewSet(StructuredViewSetMixin, viewsets.ModelViewSet):
+class PersonViewSet(PKorUUIDViewSet, StructuredViewSetMixin, viewsets.ModelViewSet):
renderer_classes = tuple(api_settings.DEFAULT_RENDERER_CLASSES) + (csvrenderers.PaginatedCSVRenderer,)
queryset = Person.objects.all()
serializer_class = PersonSerializer
- pagination_class = PersonCursorPagination
- filterset_class = PersonFilter
+ pagination_class = PersonLimitOffsetPagination
permission_classes = [IsAuthenticated, ProjectMembershipNecessaryPermissions, TeamMemberAccessPermission]
lifecycle_class = Lifecycle
retention_class = Retention
stickiness_class = Stickiness
- def paginate_queryset(self, queryset):
- if self.request.accepted_renderer.format == "csv" or not self.paginator:
- return None
- return self.paginator.paginate_queryset(queryset, self.request, view=self)
+ def get_queryset(self):
+ queryset = super().get_queryset()
+ queryset = queryset.prefetch_related(Prefetch("persondistinctid_set", to_attr="distinct_ids_cache"))
+ queryset = queryset.only("id", "created_at", "properties", "uuid", "is_identified")
+ return queryset
+
+ @extend_schema(
+ parameters=[
+ OpenApiParameter(
+ "email",
+ OpenApiTypes.STR,
+ description="Filter persons by email (exact match)",
+ examples=[OpenApiExample(name="email", value="test@test.com")],
+ ),
+ OpenApiParameter("distinct_id", OpenApiTypes.INT, description="Filter list by distinct id."),
+ OpenApiParameter(
+ "search",
+ OpenApiTypes.STR,
+ description="Search persons, either by email (full text search) or distinct_id (exact match).",
+ ),
+ PersonPropertiesSerializer(required=False),
+ ],
+ )
+ def list(self, request: request.Request, *args: Any, **kwargs: Any) -> response.Response:
+ team = self.team
+ filter = Filter(request=request, team=self.team)
+
+ is_csv_request = self.request.accepted_renderer.format == "csv"
+ if is_csv_request:
+ filter = filter.with_data({LIMIT: CSV_EXPORT_LIMIT, OFFSET: 0})
+ elif not filter.limit:
+ filter = filter.with_data({LIMIT: 100})
+
+ query, params = PersonQuery(filter, team.pk).get_query(paginate=True)
+
+ raw_result = sync_execute(query, params)
+
+ actor_ids = [row[0] for row in raw_result]
+ actors, serialized_actors = get_people(team.pk, actor_ids)
+
+ _should_paginate = should_paginate(actors, filter.limit)
+ next_url = format_query_params_absolute_url(request, filter.offset + filter.limit) if _should_paginate else None
+ previous_url = (
+ format_query_params_absolute_url(request, filter.offset - filter.limit)
+ if filter.offset - filter.limit >= 0
+ else None
+ )
+
+ return Response({"results": serialized_actors, "next": next_url, "previous": previous_url})
def destroy(self, request: request.Request, pk=None, **kwargs): # type: ignore
try:
- person = Person.objects.get(team=self.team, pk=pk)
+ person = self.get_object()
person_id = person.id
delete_person(person=person)
@@ -223,18 +238,6 @@ def destroy(self, request: request.Request, pk=None, **kwargs): # type: ignore
except Person.DoesNotExist:
raise NotFound(detail="Person not found.")
- def get_queryset(self):
- queryset = super().get_queryset()
- queryset = self.filterset_class(self.request.GET, queryset=queryset, team_id=self.team.id).qs
- queryset = queryset.prefetch_related(Prefetch("persondistinctid_set", to_attr="distinct_ids_cache"))
- queryset = queryset.only("id", "created_at", "properties", "uuid")
-
- is_csv_request = self.request.accepted_renderer.format == "csv"
- if is_csv_request:
- return queryset[0:CSV_EXPORT_LIMIT]
-
- return queryset
-
@action(methods=["GET", "POST"], detail=False)
def funnel(self, request: request.Request, **kwargs) -> response.Response:
if request.user.is_anonymous or not self.team:
@@ -260,7 +263,7 @@ def funnel(self, request: request.Request, **kwargs) -> response.Response:
@cached_function
def calculate_funnel_persons(
self, request: request.Request
- ) -> Dict[str, Tuple[list, Optional[str], Optional[str]]]:
+ ) -> Dict[str, Tuple[List, Optional[str], Optional[str]]]:
if request.user.is_anonymous or not self.team:
return {"result": ([], None, None)}
@@ -311,7 +314,7 @@ def path(self, request: request.Request, **kwargs) -> response.Response:
)
@cached_function
- def calculate_path_persons(self, request: request.Request) -> Dict[str, Tuple[list, Optional[str], Optional[str]]]:
+ def calculate_path_persons(self, request: request.Request) -> Dict[str, Tuple[List, Optional[str], Optional[str]]]:
if request.user.is_anonymous or not self.team:
return {"result": ([], None, None)}
@@ -370,7 +373,7 @@ def _get_person_property_values_for_key(self, key, value):
@action(methods=["POST"], detail=True)
def merge(self, request: request.Request, pk=None, **kwargs) -> response.Response:
people = Person.objects.filter(team_id=self.team_id, pk__in=request.data.get("ids"))
- person = Person.objects.get(pk=pk, team_id=self.team_id)
+ person = self.get_object()
person.merge_people([p for p in people])
data = PersonSerializer(person).data
@@ -410,7 +413,7 @@ def merge(self, request: request.Request, pk=None, **kwargs) -> response.Respons
@action(methods=["POST"], detail=True)
def split(self, request: request.Request, pk=None, **kwargs) -> response.Response:
- person: Person = Person.objects.get(pk=pk, team_id=self.team_id)
+ person: Person = self.get_object()
distinct_ids = person.distinct_ids
split_person.delay(person.id, request.data.get("main_distinct_id", None))
@@ -429,7 +432,7 @@ def split(self, request: request.Request, pk=None, **kwargs) -> response.Respons
@action(methods=["POST"], detail=True)
def delete_property(self, request: request.Request, pk=None, **kwargs) -> response.Response:
- person: Person = Person.objects.get(pk=pk, team_id=self.team_id)
+ person: Person = get_pk_or_uuid(Person.objects.filter(team_id=self.team_id), pk).get()
capture_internal(
distinct_id=person.distinct_ids[0],
@@ -545,7 +548,7 @@ def cohorts(self, request: request.Request) -> response.Response:
status=400,
)
- person = self.get_queryset().get(id=str(request.GET["person_id"]))
+ person = get_pk_or_uuid(self.get_queryset(), request.GET["person_id"]).get()
cohort_ids = get_all_cohort_ids_by_person_uuid(person.uuid, team.pk)
cohorts = Cohort.objects.filter(pk__in=cohort_ids, deleted=False)
@@ -572,7 +575,7 @@ def activity(self, request: request.Request, **kwargs):
return activity_page_response(activity_page, limit, page, request)
def update(self, request, *args, **kwargs):
- instance = self.get_queryset().get(pk=kwargs["pk"])
+ instance = self.get_object()
capture_internal(
distinct_id=instance.distinct_ids[0],
ip=None,
diff --git a/posthog/api/routing.py b/posthog/api/routing.py
index 100cda2614137a..f26cce52dd6ab2 100644
--- a/posthog/api/routing.py
+++ b/posthog/api/routing.py
@@ -1,13 +1,14 @@
from functools import cached_property
from typing import TYPE_CHECKING, Any, Dict, Optional, cast
+from django.shortcuts import get_object_or_404
from rest_framework import authentication
from rest_framework.exceptions import AuthenticationFailed, NotFound, ValidationError
from rest_framework.viewsets import GenericViewSet
from rest_framework_extensions.routers import ExtendedDefaultRouter
from rest_framework_extensions.settings import extensions_api_settings
-from posthog.api.utils import get_token
+from posthog.api.utils import get_pk_or_uuid, get_token
from posthog.auth import JwtAuthentication, PersonalAPIKeyAuthentication
from posthog.models.organization import Organization
from posthog.models.team import Team
@@ -196,3 +197,25 @@ def _get_team_from_request(self) -> Optional["Team"]:
# if self.legacy_team_compatibility:
# print(f"Legacy endpoint called – {super_cls.get_view_name()} (delete)")
# return super_cls.delete(*args, **kwargs)
+
+
+class PKorUUIDViewSet(_GenericViewSet):
+ def get_object(self):
+ queryset = self.filter_queryset(self.get_queryset())
+
+ # Perform the lookup filtering.
+ lookup_url_kwarg = self.lookup_url_kwarg or self.lookup_field
+
+ assert lookup_url_kwarg in self.kwargs, (
+ "Expected view %s to be called with a URL keyword argument "
+ 'named "%s". Fix your URL conf, or set the `.lookup_field` '
+ "attribute on the view correctly." % (self.__class__.__name__, lookup_url_kwarg)
+ )
+
+ queryset = get_pk_or_uuid(queryset, self.kwargs[lookup_url_kwarg])
+ obj = get_object_or_404(queryset)
+
+ # May raise a permission denied
+ self.check_object_permissions(self.request, obj)
+
+ return obj
diff --git a/posthog/api/test/test_cohort.py b/posthog/api/test/test_cohort.py
index c597676ac2f0f9..d3d6e90ebd10b3 100644
--- a/posthog/api/test/test_cohort.py
+++ b/posthog/api/test/test_cohort.py
@@ -5,11 +5,13 @@
from django.core.files.uploadedfile import SimpleUploadedFile
from django.test.client import Client
+from django.utils import timezone
from rest_framework import status
from rest_framework.test import APIClient
from posthog.models import Person
from posthog.models.cohort import Cohort
+from posthog.models.team.team import Team
from posthog.test.base import APIBaseTest, ClickhouseTestMixin, _create_event, _create_person, flush_persons_and_events
@@ -218,6 +220,81 @@ def test_csv_export(self):
response = self.client.get(f"/api/cohort/{cohort.pk}/persons.csv")
self.assertEqual(len(response.content.splitlines()), 3, response.content)
+ def test_filter_by_cohort(self):
+ _create_person(
+ team=self.team, distinct_ids=[f"fake"], properties={},
+ )
+ for i in range(150):
+ _create_person(
+ team=self.team, distinct_ids=[f"person_{i}"], properties={"$os": "Chrome"},
+ )
+
+ flush_persons_and_events()
+ cohort = Cohort.objects.create(
+ team=self.team, groups=[{"properties": [{"key": "$os", "value": "Chrome", "type": "person"}]}]
+ )
+ cohort.calculate_people_ch(pending_version=0)
+
+ response = self.client.get(f"/api/cohort/{cohort.pk}/persons")
+ self.assertEqual(len(response.json()["results"]), 100, response)
+
+ response = self.client.get(response.json()["next"])
+ self.assertEqual(len(response.json()["results"]), 50, response)
+
+ def test_filter_by_cohort_prop(self):
+ for i in range(5):
+ _create_person(
+ team=self.team, distinct_ids=[f"person_{i}"], properties={"$os": "Chrome"},
+ )
+
+ _create_person(
+ team=self.team, distinct_ids=[f"target"], properties={"$os": "Chrome", "$browser": "Safari"},
+ )
+
+ cohort = Cohort.objects.create(
+ team=self.team, groups=[{"properties": [{"key": "$os", "value": "Chrome", "type": "person"}]}]
+ )
+ cohort.calculate_people_ch(pending_version=0)
+
+ response = self.client.get(
+ f"/api/cohort/{cohort.pk}/persons?properties=%s"
+ % (json.dumps([{"key": "$browser", "value": "Safari", "type": "person",}]))
+ )
+ self.assertEqual(len(response.json()["results"]), 1, response)
+
+ def test_filter_by_cohort_search(self):
+ for i in range(5):
+ _create_person(
+ team=self.team, distinct_ids=[f"person_{i}"], properties={"$os": "Chrome"},
+ )
+
+ _create_person(
+ team=self.team, distinct_ids=[f"target"], properties={"$os": "Chrome", "$browser": "Safari"},
+ )
+ flush_persons_and_events()
+
+ cohort = Cohort.objects.create(
+ team=self.team, groups=[{"properties": [{"key": "$os", "value": "Chrome", "type": "person"}]}]
+ )
+ cohort.calculate_people_ch(pending_version=0)
+
+ response = self.client.get(f"/api/cohort/{cohort.pk}/persons?search=target")
+ self.assertEqual(len(response.json()["results"]), 1, response)
+
+ def test_filter_by_static_cohort(self):
+ Person.objects.create(team_id=self.team.pk, distinct_ids=["1"])
+ Person.objects.create(team_id=self.team.pk, distinct_ids=["123"])
+ Person.objects.create(team_id=self.team.pk, distinct_ids=["2"])
+ # Team leakage
+ team2 = Team.objects.create(organization=self.organization)
+ Person.objects.create(team=team2, distinct_ids=["1"])
+
+ cohort = Cohort.objects.create(team=self.team, groups=[], is_static=True, last_calculation=timezone.now(),)
+ cohort.insert_users_by_list(["1", "123"])
+
+ response = self.client.get(f"/api/cohort/{cohort.pk}/persons")
+ self.assertEqual(len(response.json()["results"]), 2, response)
+
@patch("posthog.api.cohort.report_user_action")
@patch("posthog.tasks.calculate_cohort.calculate_cohort_ch.delay")
def test_creating_update_and_calculating_with_cycle(self, patch_calculate_cohort, patch_capture):
diff --git a/posthog/api/test/test_event.py b/posthog/api/test/test_event.py
index f27ef362e387ac..25eff1eeca47b7 100644
--- a/posthog/api/test/test_event.py
+++ b/posthog/api/test/test_event.py
@@ -164,6 +164,9 @@ def test_filter_by_person(self):
self.assertEqual(len(response["results"]), 2)
self.assertEqual(response["results"][0]["elements"], [])
+ response = self.client.get(f"/api/projects/{self.team.id}/events/?person_id={person.uuid}").json()
+ self.assertEqual(len(response["results"]), 2)
+
def test_filter_by_nonexisting_person(self):
response = self.client.get(f"/api/projects/{self.team.id}/events/?person_id=5555555555")
self.assertEqual(response.status_code, 200)
diff --git a/posthog/api/test/test_person.py b/posthog/api/test/test_person.py
index 80ea71bb864c0e..139c78157440dd 100644
--- a/posthog/api/test/test_person.py
+++ b/posthog/api/test/test_person.py
@@ -1,5 +1,6 @@
import json
import unittest
+from datetime import datetime
from typing import Dict, List, Optional
from unittest import mock
@@ -37,7 +38,7 @@ def test_search(self) -> None:
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.json()["results"]), 1)
- response = self.client.get("/api/person/?search=_id_3")
+ response = self.client.get("/api/person/?search=distinct_id_3")
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.json()["results"]), 1)
@@ -110,82 +111,6 @@ def test_person_property_values(self):
self.assertEqual(response.json()[0]["name"], "qwerty")
self.assertEqual(response.json()[0]["count"], 1)
- def test_filter_by_cohort(self):
-
- _create_person(
- team=self.team, distinct_ids=[f"fake"], properties={},
- )
- for i in range(150):
- _create_person(
- team=self.team, distinct_ids=[f"person_{i}"], properties={"$os": "Chrome"},
- )
-
- flush_persons_and_events()
- cohort = Cohort.objects.create(
- team=self.team, groups=[{"properties": [{"key": "$os", "value": "Chrome", "type": "person"}]}]
- )
- cohort.calculate_people_ch(pending_version=0)
-
- response = self.client.get(f"/api/cohort/{cohort.pk}/persons")
- self.assertEqual(len(response.json()["results"]), 100, response)
-
- response = self.client.get(response.json()["next"])
- self.assertEqual(len(response.json()["results"]), 50, response)
-
- def test_filter_by_cohort_prop(self):
- for i in range(5):
- _create_person(
- team=self.team, distinct_ids=[f"person_{i}"], properties={"$os": "Chrome"},
- )
-
- _create_person(
- team=self.team, distinct_ids=[f"target"], properties={"$os": "Chrome", "$browser": "Safari"},
- )
-
- cohort = Cohort.objects.create(
- team=self.team, groups=[{"properties": [{"key": "$os", "value": "Chrome", "type": "person"}]}]
- )
- cohort.calculate_people_ch(pending_version=0)
-
- response = self.client.get(
- f"/api/cohort/{cohort.pk}/persons?properties=%s"
- % (json.dumps([{"key": "$browser", "value": "Safari", "type": "person",}]))
- )
- self.assertEqual(len(response.json()["results"]), 1, response)
-
- def test_filter_by_cohort_search(self):
- for i in range(5):
- _create_person(
- team=self.team, distinct_ids=[f"person_{i}"], properties={"$os": "Chrome"},
- )
-
- _create_person(
- team=self.team, distinct_ids=[f"target"], properties={"$os": "Chrome", "$browser": "Safari"},
- )
- flush_persons_and_events()
-
- cohort = Cohort.objects.create(
- team=self.team, groups=[{"properties": [{"key": "$os", "value": "Chrome", "type": "person"}]}]
- )
- cohort.calculate_people_ch(pending_version=0)
-
- response = self.client.get(f"/api/cohort/{cohort.pk}/persons?search=target")
- self.assertEqual(len(response.json()["results"]), 1, response)
-
- def test_filter_by_static_cohort(self):
- Person.objects.create(team_id=self.team.pk, distinct_ids=["1"])
- Person.objects.create(team_id=self.team.pk, distinct_ids=["123"])
- Person.objects.create(team_id=self.team.pk, distinct_ids=["2"])
- # Team leakage
- team2 = Team.objects.create(organization=self.organization)
- Person.objects.create(team=team2, distinct_ids=["1"])
-
- cohort = Cohort.objects.create(team=self.team, groups=[], is_static=True, last_calculation=timezone.now(),)
- cohort.insert_users_by_list(["1", "123"])
-
- response = self.client.get(f"/api/cohort/{cohort.pk}/persons")
- self.assertEqual(len(response.json()["results"]), 2, response)
-
def test_filter_person_list(self):
person1: Person = _create_person(
@@ -205,25 +130,18 @@ def test_filter_person_list(self):
response = self.client.get("/api/person/?distinct_id=distinct_id") # must be exact matches
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.json()["results"]), 1)
- self.assertEqual(response.json()["results"][0]["id"], person1.pk)
+ self.assertEqual(response.json()["results"][0]["id"], str(person1.uuid))
response = self.client.get("/api/person/?distinct_id=another_one") # can search on any of the distinct IDs
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.json()["results"]), 1)
- self.assertEqual(response.json()["results"][0]["id"], person1.pk)
+ self.assertEqual(response.json()["results"][0]["id"], str(person1.uuid))
# Filter by email
response = self.client.get("/api/person/?email=another@gmail.com")
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.json()["results"]), 1)
- self.assertEqual(response.json()["results"][0]["id"], person2.pk)
-
- # Filter by key identifier
- for _identifier in ["another@gmail.com", "distinct_id_2"]:
- response = self.client.get(f"/api/person/?key_identifier={_identifier}")
- self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertEqual(len(response.json()["results"]), 1)
- self.assertEqual(response.json()["results"][0]["id"], person2.pk)
+ self.assertEqual(response.json()["results"][0]["id"], str(person2.uuid))
# Non-matches return an empty list
response = self.client.get("/api/person/?email=inexistent")
@@ -254,19 +172,13 @@ def test_cant_see_another_organization_pii_with_filters(self):
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.json()["results"]), 1)
self.assertEqual(
- response.json()["results"][0]["id"], person.pk,
+ response.json()["results"][0]["id"], str(person.uuid),
) # note that even with shared distinct IDs, only the person from the same team is returned
response = self.client.get("/api/person/?distinct_id=x_another_one")
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(response.json()["results"], [])
- # Filter by key identifier
- for _identifier in ["x_another_one", "distinct_id_2"]:
- response = self.client.get(f"/api/person/?key_identifier={_identifier}")
- self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertEqual(response.json()["results"], [])
-
@freeze_time("2021-08-25T22:09:14.252Z")
def test_delete_person(self):
person = _create_person(
@@ -276,13 +188,13 @@ def test_delete_person(self):
_create_event(event="test", team=self.team, distinct_id="anonymous_id")
_create_event(event="test", team=self.team, distinct_id="someone_else")
- response = self.client.delete(f"/api/person/{person.pk}/")
+ response = self.client.delete(f"/api/person/{person.uuid}/")
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
self.assertEqual(response.content, b"") # Empty response
self.assertEqual(Person.objects.filter(team=self.team).count(), 0)
- response = self.client.delete(f"/api/person/{person.pk}/")
+ response = self.client.delete(f"/api/person/{person.uuid}/")
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
self._assert_person_activity(
@@ -306,18 +218,6 @@ def test_delete_person(self):
)
self.assertEqual([(100, 1, "{}")], ch_persons)
- def test_filter_uuid(self) -> None:
- person1 = _create_person(
- team=self.team, properties={"$browser": "whatever", "$os": "Mac OS X"}, distinct_ids=["person1"]
- )
- person2 = _create_person(team=self.team, properties={"random_prop": "asdf"}, distinct_ids=["person2"])
- _create_person(team=self.team, properties={"random_prop": "asdf"}, distinct_ids=["person3"])
-
- flush_persons_and_events()
- response = self.client.get(f"/api/person/?uuid={person1.uuid},{person2.uuid}")
- self.assertEqual(response.status_code, 200)
- self.assertEqual(len(response.json()["results"]), 2)
-
@freeze_time("2021-08-25T22:09:14.252Z")
@mock.patch("posthog.api.capture.capture_internal")
def test_merge_people(self, mock_capture_internal) -> None:
@@ -487,7 +387,7 @@ def test_update_person_properties(self, mock_capture) -> None:
immediate=True,
)
- self.client.patch(f"/api/person/{person.id}", {"properties": {"foo": "bar"}})
+ self.client.patch(f"/api/person/{person.uuid}", {"properties": {"foo": "bar"}})
mock_capture.assert_called_once_with(
distinct_id="some_distinct_id",
@@ -513,7 +413,7 @@ def test_delete_person_properties(self, mock_capture) -> None:
immediate=True,
)
- self.client.post(f"/api/person/{person.id}/delete_property", {"$unset": "foo"})
+ self.client.post(f"/api/person/{person.uuid}/delete_property", {"$unset": "foo"})
mock_capture.assert_called_once_with(
distinct_id="some_distinct_id",
@@ -542,16 +442,16 @@ def test_return_non_anonymous_name(self) -> None:
response = self.client.get("/api/person/").json()
- self.assertEqual(response["results"][0]["name"], "distinct_id2")
- self.assertEqual(response["results"][1]["name"], "distinct_id1")
+ self.assertEqual(response["results"][0]["name"], "distinct_id1")
+ self.assertEqual(response["results"][1]["name"], "distinct_id2")
self.assertEqual(
response["results"][0]["distinct_ids"],
- ["distinct_id2", "17787c327b-0e8f623ea9-336473-1aeaa0-17787c30995b7c"],
+ ["distinct_id1", "17787c3099427b-0e8f6c86323ea9-33647309-1aeaa0-17787c30995b7c"],
)
self.assertEqual(
response["results"][1]["distinct_ids"],
- ["distinct_id1", "17787c3099427b-0e8f6c86323ea9-33647309-1aeaa0-17787c30995b7c"],
+ ["17787c327b-0e8f623ea9-336473-1aeaa0-17787c30995b7c", "distinct_id2"],
)
def test_person_cohorts(self) -> None:
@@ -579,7 +479,7 @@ def test_person_cohorts(self) -> None:
)
cohort4.insert_users_by_list(["2"])
- response = self.client.get(f"/api/person/cohorts/?person_id={person2.id}").json()
+ response = self.client.get(f"/api/person/cohorts/?person_id={person2.uuid}").json()
response["results"].sort(key=lambda cohort: cohort["name"])
self.assertEqual(len(response["results"]), 3)
self.assertDictContainsSubset({"id": cohort1.id, "count": 2, "name": cohort1.name}, response["results"][0])
@@ -594,7 +494,7 @@ def test_split_person_clickhouse(self):
immediate=True,
)
- response = self.client.post("/api/person/%s/split/" % person.pk,).json()
+ response = self.client.post("/api/person/%s/split/" % person.uuid,).json()
self.assertTrue(response["success"])
people = Person.objects.all().order_by("id")
@@ -625,12 +525,12 @@ def test_patch_user_property_activity(self):
immediate=True,
)
- created_person = self.client.get("/api/person/%s/" % person.pk).json()
+ created_person = self.client.get("/api/person/%s/" % person.uuid).json()
created_person["properties"]["a"] = "b"
- response = self.client.patch("/api/person/%s/" % person.pk, created_person)
+ response = self.client.patch("/api/person/%s/" % person.uuid, created_person)
self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
- self.client.get("/api/person/%s/" % person.pk)
+ self.client.get("/api/person/%s/" % person.uuid)
self._assert_person_activity(
person_id=person.pk,
@@ -675,14 +575,23 @@ def test_csv_export(self):
self.assertEqual(len(response.content.splitlines()), 2)
def test_pagination_limit(self):
+ created_ids = []
for index in range(0, 20):
+ created_ids.append(str(index + 100))
_create_person(
- team=self.team, distinct_ids=[str(index + 100)], properties={"$browser": "whatever", "$os": "Windows"}
+ team=self.team, distinct_ids=[str(index + 100)], properties={"$browser": "whatever", "$os": "Windows"},
)
- flush_persons_and_events()
+ with freeze_time(datetime(2022, 1, 1, 0, 0)):
+ flush_persons_and_events()
+ returned_ids = []
response = self.client.get("/api/person/?limit=10").json()
self.assertEqual(len(response["results"]), 10)
+ returned_ids += [x["distinct_ids"][0] for x in response["results"]]
+ response = self.client.get(response["next"]).json()
+ returned_ids += [x["distinct_ids"][0] for x in response["results"]]
+
+ self.assertCountEqual(returned_ids, created_ids, returned_ids)
def _get_person_activity(self, person_id: Optional[int] = None, expected_status: int = status.HTTP_200_OK):
if person_id:
diff --git a/posthog/api/utils.py b/posthog/api/utils.py
index ed23ad2baac3ad..3a456556312e31 100644
--- a/posthog/api/utils.py
+++ b/posthog/api/utils.py
@@ -3,8 +3,10 @@
from dataclasses import dataclass
from enum import Enum, auto
from typing import Any, List, Optional, Tuple, Union, cast
+from uuid import UUID
import structlog
+from django.db.models import QuerySet
from rest_framework import request, status
from sentry_sdk import capture_exception
from statshog.defaults.django import statsd
@@ -411,3 +413,12 @@ def create_event_definitions_sql(include_actions: bool, is_enterprise: bool = Fa
{ordering}
"""
)
+
+
+def get_pk_or_uuid(queryset: QuerySet, key: Union[int, str]) -> QuerySet:
+ try:
+ # Test if value is a UUID
+ UUID(key) # type: ignore
+ return queryset.filter(uuid=key)
+ except ValueError:
+ return queryset.filter(pk=key)
diff --git a/posthog/models/event/query_event_list.py b/posthog/models/event/query_event_list.py
index 0325edac591cb4..530b88175b2b19 100644
--- a/posthog/models/event/query_event_list.py
+++ b/posthog/models/event/query_event_list.py
@@ -5,6 +5,7 @@
from dateutil.parser import isoparse
from django.utils.timezone import now
+from posthog.api.utils import get_pk_or_uuid
from posthog.client import query_with_columns
from posthog.models import Action, Filter, Person, Team
from posthog.models.action.util import format_action_filter
@@ -33,7 +34,7 @@ def determine_event_conditions(
params.update({"before": timestamp})
elif k == "person_id":
result += """AND distinct_id IN (%(distinct_ids)s)"""
- person = Person.objects.filter(pk=v, team_id=team.pk).first()
+ person = get_pk_or_uuid(Person.objects.all(), v).first()
distinct_ids = person.distinct_ids if person is not None else []
params.update({"distinct_ids": list(map(str, distinct_ids))})
elif k == "distinct_id":
diff --git a/posthog/models/filters/filter.py b/posthog/models/filters/filter.py
index cd2c684590048b..b15b6fd712d5d4 100644
--- a/posthog/models/filters/filter.py
+++ b/posthog/models/filters/filter.py
@@ -12,6 +12,8 @@
CompareMixin,
DateMixin,
DisplayDerivedMixin,
+ DistinctIdMixin,
+ EmailMixin,
EntitiesMixin,
EntityIdMixin,
EntityMathMixin,
@@ -83,6 +85,8 @@ class Filter(
SimplifyFilterMixin,
IncludeRecordingsMixin,
SearchMixin,
+ DistinctIdMixin,
+ EmailMixin,
BaseFilter,
):
"""
diff --git a/posthog/models/filters/mixins/common.py b/posthog/models/filters/mixins/common.py
index e1160bfc54f45c..87753b66b38561 100644
--- a/posthog/models/filters/mixins/common.py
+++ b/posthog/models/filters/mixins/common.py
@@ -485,3 +485,25 @@ class SearchMixin(BaseParamMixin):
def search(self) -> Optional[str]:
search = self._data.get("search", None)
return search
+
+
+class DistinctIdMixin(BaseParamMixin):
+ """
+ Filter on distinct id. Only used for person endpoint
+ """
+
+ @cached_property
+ def distinct_id(self) -> Optional[str]:
+ distinct_id = self._data.get("distinct_id", None)
+ return distinct_id
+
+
+class EmailMixin(BaseParamMixin):
+ """
+ Filter on email. Only used for person endpoint
+ """
+
+ @cached_property
+ def email(self) -> Optional[str]:
+ email = self._data.get("email", None)
+ return email
diff --git a/posthog/queries/actor_base_query.py b/posthog/queries/actor_base_query.py
index d028071de9ffef..7c1512269d543b 100644
--- a/posthog/queries/actor_base_query.py
+++ b/posthog/queries/actor_base_query.py
@@ -13,7 +13,7 @@
cast,
)
-from django.db.models.query import QuerySet
+from django.db.models.query import Prefetch, QuerySet
from posthog.client import sync_execute
from posthog.constants import INSIGHT_FUNNELS, INSIGHT_PATHS, INSIGHT_TRENDS
@@ -183,7 +183,9 @@ def get_groups(
def get_people(team_id: int, people_ids: List[Any]) -> Tuple[QuerySet[Person], List[SerializedPerson]]:
""" Get people from raw SQL results in data model and dict formats """
- persons: QuerySet[Person] = Person.objects.filter(team_id=team_id, uuid__in=people_ids)
+ persons: QuerySet[Person] = Person.objects.filter(team_id=team_id, uuid__in=people_ids).prefetch_related(
+ Prefetch("persondistinctid_set", to_attr="distinct_ids_cache")
+ ).only("id", "is_identified", "created_at", "properties", "uuid")
return persons, serialize_people(persons)
diff --git a/posthog/queries/person_query.py b/posthog/queries/person_query.py
index 9f13a9c41837a0..3d4c0e25756bd2 100644
--- a/posthog/queries/person_query.py
+++ b/posthog/queries/person_query.py
@@ -10,7 +10,11 @@
from posthog.models.filters.retention_filter import RetentionFilter
from posthog.models.filters.stickiness_filter import StickinessFilter
from posthog.models.property import Property, PropertyGroup
-from posthog.models.property.util import extract_tables_and_properties, parse_prop_grouped_clauses
+from posthog.models.property.util import (
+ extract_tables_and_properties,
+ parse_prop_grouped_clauses,
+ prop_filter_json_extract,
+)
from posthog.models.utils import PersonPropertiesMode
from posthog.queries.column_optimizer.column_optimizer import ColumnOptimizer
from posthog.queries.person_distinct_id_query import get_team_distinct_ids_query
@@ -64,15 +68,21 @@ def __init__(
properties
).inner
- def get_query(self, prepend: str = "") -> Tuple[str, Dict]:
+ def get_query(self, prepend: str = "", paginate: bool = False) -> Tuple[str, Dict]:
fields = "id" + " ".join(
f", argMax({column_name}, version) as {alias}" for column_name, alias in self._get_fields()
)
person_filters, params = self._get_person_filters(prepend=prepend)
cohort_query, cohort_params = self._get_cohort_query()
- limit_offset, limit_params = self._get_limit_offset()
+ if paginate:
+ limit_offset, limit_params = self._get_limit_offset()
+ else:
+ limit_offset = ""
+ limit_params = {}
search_clause, search_params = self._get_search_clause(prepend=prepend)
+ distinct_id_clause, distinct_id_params = self._get_distinct_id_clause()
+ email_clause, email_params = self._get_email_clause()
return (
f"""
@@ -81,10 +91,20 @@ def get_query(self, prepend: str = "") -> Tuple[str, Dict]:
{cohort_query}
WHERE team_id = %(team_id)s
GROUP BY id
- HAVING max(is_deleted) = 0 {person_filters} {search_clause}
+ HAVING max(is_deleted) = 0
+ {person_filters} {search_clause} {distinct_id_clause} {email_clause}
+ {"ORDER BY max(created_at) DESC, id" if paginate else ""}
{limit_offset}
""",
- {**params, **cohort_params, **limit_params, **search_params, "team_id": self._team_id},
+ {
+ **params,
+ **cohort_params,
+ **limit_params,
+ **search_params,
+ **distinct_id_params,
+ **email_params,
+ "team_id": self._team_id,
+ },
)
@property
@@ -151,12 +171,10 @@ def _get_limit_offset(self) -> Tuple[str, Dict]:
if not isinstance(self._filter, Filter):
return "", {}
- if not self._cohort or not (self._filter.limit or self._filter.offset):
+ if not (self._filter.limit or self._filter.offset):
return "", {}
- clause = """
- ORDER BY id
- """
+ clause = ""
params = {}
@@ -202,3 +220,24 @@ def _get_search_clause(self, prepend: str = "") -> Tuple[str, Dict]:
return f"AND (({search_clause}) OR ({distinct_id_clause}))", params
return "", {}
+
+ def _get_distinct_id_clause(self) -> Tuple[str, Dict]:
+ if not isinstance(self._filter, Filter):
+ return "", {}
+
+ if self._filter.distinct_id:
+ distinct_id_clause = f"""
+ AND id IN (
+ SELECT person_id FROM ({get_team_distinct_ids_query(self._team_id)}) where distinct_id = %(distinct_id_filter)s
+ )
+ """
+ return distinct_id_clause, {"distinct_id_filter": self._filter.distinct_id}
+ return "", {}
+
+ def _get_email_clause(self) -> Tuple[str, Dict]:
+ if not isinstance(self._filter, Filter):
+ return "", {}
+
+ if self._filter.email:
+ return prop_filter_json_extract(Property(key="email", value=self._filter.email), 0, prepend="_email")
+ return "", {}
From 9b3f48d10ae7231186a89fe179424f4026af57e3 Mon Sep 17 00:00:00 2001
From: Neil Kakkar
Date: Wed, 20 Jul 2022 13:10:55 +0100
Subject: [PATCH 119/213] feat(feature-flags): Allow property overrides for
feature flags (#10872)
---
posthog/models/feature_flag.py | 35 ++++-
posthog/queries/base.py | 84 +++++++++-
posthog/queries/test/test_base.py | 147 ++++++++++++++++++
.../test/__snapshots__/test_feature_flag.ambr | 16 +-
posthog/test/test_feature_flag.py | 75 +++++++++
5 files changed, 340 insertions(+), 17 deletions(-)
diff --git a/posthog/models/feature_flag.py b/posthog/models/feature_flag.py
index d0334597874c81..fd0921610939da 100644
--- a/posthog/models/feature_flag.py
+++ b/posthog/models/feature_flag.py
@@ -170,12 +170,14 @@ def __init__(
groups: Dict[GroupTypeName, str] = {},
cache: Optional[FlagsMatcherCache] = None,
hash_key_overrides: Dict[str, str] = {},
+ property_value_overrides: Dict[str, str] = {},
):
self.feature_flags = feature_flags
self.distinct_id = distinct_id
self.groups = groups
self.cache = cache or FlagsMatcherCache(self.feature_flags[0].team_id)
self.hash_key_overrides = hash_key_overrides
+ self.property_value_overrides = property_value_overrides
def get_match(self, feature_flag: FeatureFlag) -> Optional[FeatureFlagMatch]:
# If aggregating flag by groups and relevant group type is not passed - flag is off!
@@ -257,7 +259,10 @@ def query_conditions(self) -> Dict[str, bool]:
if len(condition.get("properties", {})) > 0:
# Feature Flags don't support OR filtering yet
expr = properties_to_Q(
- Filter(data=condition).property_groups.flat, team_id=team_id, is_direct_query=True
+ Filter(data=condition).property_groups.flat,
+ team_id=team_id,
+ is_direct_query=True,
+ override_property_values=self.property_value_overrides,
)
if feature_flag.aggregation_group_type_index is None:
@@ -336,6 +341,7 @@ def _get_active_feature_flags(
distinct_id: str,
person_id: Optional[int] = None,
groups: Dict[GroupTypeName, str] = {},
+ property_value_overrides: Dict[str, str] = {},
) -> Dict[str, Union[bool, str]]:
cache = FlagsMatcherCache(team_id)
@@ -345,14 +351,20 @@ def _get_active_feature_flags(
overrides = {}
if feature_flags:
- return FeatureFlagMatcher(feature_flags, distinct_id, groups, cache, overrides).get_matches()
+ return FeatureFlagMatcher(
+ feature_flags, distinct_id, groups, cache, overrides, property_value_overrides
+ ).get_matches()
return {}
# Return feature flags
def get_active_feature_flags(
- team_id: int, distinct_id: str, groups: Dict[GroupTypeName, str] = {}, hash_key_override: Optional[str] = None
+ team_id: int,
+ distinct_id: str,
+ groups: Dict[GroupTypeName, str] = {},
+ hash_key_override: Optional[str] = None,
+ property_value_overrides: Dict[str, str] = {},
) -> Dict[str, Union[bool, str]]:
all_feature_flags = FeatureFlag.objects.filter(team_id=team_id, active=True, deleted=False).only(
@@ -364,7 +376,13 @@ def get_active_feature_flags(
)
if not flags_have_experience_continuity_enabled:
- return _get_active_feature_flags(list(all_feature_flags), team_id, distinct_id, groups=groups)
+ return _get_active_feature_flags(
+ list(all_feature_flags),
+ team_id,
+ distinct_id,
+ groups=groups,
+ property_value_overrides=property_value_overrides,
+ )
person_id = (
PersonDistinctId.objects.filter(distinct_id=distinct_id, team_id=team_id)
@@ -398,7 +416,14 @@ def get_active_feature_flags(
# as overrides are stored on personIDs.
# We can optimise by not going down this path when person_id doesn't exist, or
# no flags have experience continuity enabled
- return _get_active_feature_flags(list(all_feature_flags), team_id, distinct_id, person_id, groups=groups)
+ return _get_active_feature_flags(
+ list(all_feature_flags),
+ team_id,
+ distinct_id,
+ person_id,
+ groups=groups,
+ property_value_overrides=property_value_overrides,
+ )
def set_feature_flag_hash_key_overrides(
diff --git a/posthog/queries/base.py b/posthog/queries/base.py
index 9545f14933fdc6..27b450b7c9b874 100644
--- a/posthog/queries/base.py
+++ b/posthog/queries/base.py
@@ -1,3 +1,4 @@
+import re
from typing import Any, Callable, Dict, List, Union, cast
from dateutil.relativedelta import relativedelta
@@ -9,7 +10,7 @@
from posthog.models.person import Person
from posthog.models.property import Property
from posthog.models.team import Team
-from posthog.utils import get_compare_period_dates
+from posthog.utils import get_compare_period_dates, is_valid_regex
def determine_compared_filter(filter) -> Filter:
@@ -71,7 +72,67 @@ def handle_compare(filter, func: Callable, team: Team, **kwargs) -> List:
}
-def properties_to_Q(properties: List[Property], team_id: int, is_direct_query: bool = False) -> Q:
+def match_property(property: Property, override_property_values: Dict[str, Any]) -> bool:
+ # only looks for matches where key exists in override_property_values
+ # doesn't support operator is_not_set
+
+ if property.key not in override_property_values:
+ raise ValidationError("can't match properties without an override value")
+
+ if property.operator == "is_not_set":
+ raise ValidationError("can't match properties with operator is_not_set")
+
+ key = property.key
+ operator = property.operator or "exact"
+ value = property.value
+ override_value = override_property_values[key]
+
+ if operator == "exact":
+ if isinstance(value, list):
+ return override_value in value
+ return value == override_value
+
+ if operator == "is_not":
+ if isinstance(value, list):
+ return override_value not in value
+ return value != override_value
+
+ if operator == "is_set":
+ return key in override_property_values
+
+ if operator == "icontains":
+ return str(value).lower() in str(override_value).lower()
+
+ if operator == "not_icontains":
+ return str(value).lower() not in str(override_value).lower()
+
+ if operator == "regex":
+ return is_valid_regex(str(value)) and re.compile(str(value)).search(str(override_value)) is not None
+
+ if operator == "not_regex":
+ return is_valid_regex(str(value)) and re.compile(str(value)).search(str(override_value)) is None
+
+ if operator == "gt":
+ return type(override_value) == type(value) and override_value > value
+
+ if operator == "gte":
+ return type(override_value) == type(value) and override_value >= value
+
+ if operator == "lt":
+ return type(override_value) == type(value) and override_value < value
+
+ if operator == "lte":
+ return type(override_value) == type(value) and override_value <= value
+
+ return False
+
+
+def properties_to_Q(
+ properties: List[Property],
+ team_id: int,
+ is_direct_query: bool = False,
+ override_property_values: Dict[str, Any] = {},
+) -> Q:
"""
Converts a filter to Q, for use in Django ORM .filter()
If you're filtering a Person/Group QuerySet, use is_direct_query to avoid doing an unnecessary nested loop
@@ -83,14 +144,29 @@ def properties_to_Q(properties: List[Property], team_id: int, is_direct_query: b
if is_direct_query:
for property in properties:
- filters &= property.property_to_Q()
+ # short circuit query if key exists in override_property_values
+ if property.key in override_property_values and property.operator != "is_not_set":
+ # if match found, do nothing to Q
+ # if not found, return empty Q
+ if not match_property(property, override_property_values):
+ filters &= Q(pk__isnull=True)
+ else:
+ filters &= property.property_to_Q()
return filters
person_properties = [prop for prop in properties if prop.type == "person"]
if len(person_properties) > 0:
person_Q = Q()
for property in person_properties:
- person_Q &= property.property_to_Q()
+ # short circuit query if key exists in override_property_values
+ if property.key in override_property_values:
+ # if match found, do nothing to Q
+ # if not found, return empty Q
+ if not match_property(property, override_property_values):
+ person_Q &= Q(pk__isnull=True)
+ else:
+ person_Q &= property.property_to_Q()
+
filters &= Q(Exists(Person.objects.filter(person_Q, id=OuterRef("person_id"),).only("pk")))
event_properties = [prop for prop in properties if prop.type == "event"]
diff --git a/posthog/queries/test/test_base.py b/posthog/queries/test/test_base.py
index 9ede3853b5c8d0..a2ee9e87bad2d6 100644
--- a/posthog/queries/test/test_base.py
+++ b/posthog/queries/test/test_base.py
@@ -1,4 +1,9 @@
+from django.test import TestCase
+from rest_framework.exceptions import ValidationError
+
from posthog.models.filters.path_filter import PathFilter
+from posthog.models.property.property import Property
+from posthog.queries.base import match_property
from posthog.test.base import APIBaseTest
@@ -11,3 +16,145 @@ def test_determine_compared_filter(self):
self.assertIsInstance(compared_filter, PathFilter)
self.assertDictContainsSubset({"date_from": "2020-05-15", "date_to": "2020-05-22",}, compared_filter.to_dict())
+
+
+class TestMatchProperties(TestCase):
+ def test_match_properties_exact(self):
+ property_a = Property(key="key", value="value")
+
+ self.assertTrue(match_property(property_a, {"key": "value"}))
+
+ self.assertFalse(match_property(property_a, {"key": "value2"}))
+ self.assertFalse(match_property(property_a, {"key": ""}))
+ self.assertFalse(match_property(property_a, {"key": None}))
+
+ with self.assertRaises(ValidationError):
+ match_property(property_a, {"key2": "value"})
+ match_property(property_a, {})
+
+ property_b = Property(key="key", value="value", operator="exact")
+ self.assertTrue(match_property(property_b, {"key": "value"}))
+
+ self.assertFalse(match_property(property_b, {"key": "value2"}))
+
+ property_c = Property(key="key", value=["value1", "value2", "value3"], operator="exact")
+ self.assertTrue(match_property(property_c, {"key": "value1"}))
+ self.assertTrue(match_property(property_c, {"key": "value2"}))
+ self.assertTrue(match_property(property_c, {"key": "value3"}))
+
+ self.assertFalse(match_property(property_c, {"key": "value4"}))
+
+ with self.assertRaises(ValidationError):
+ match_property(property_c, {"key2": "value"})
+
+ def test_match_properties_not_in(self):
+ property_a = Property(key="key", value="value", operator="is_not")
+ self.assertTrue(match_property(property_a, {"key": "value2"}))
+ self.assertTrue(match_property(property_a, {"key": ""}))
+ self.assertTrue(match_property(property_a, {"key": None}))
+
+ property_c = Property(key="key", value=["value1", "value2", "value3"], operator="is_not")
+ self.assertTrue(match_property(property_c, {"key": "value4"}))
+ self.assertTrue(match_property(property_c, {"key": "value5"}))
+ self.assertTrue(match_property(property_c, {"key": "value6"}))
+ self.assertTrue(match_property(property_c, {"key": ""}))
+ self.assertTrue(match_property(property_c, {"key": None}))
+
+ self.assertFalse(match_property(property_c, {"key": "value2"}))
+ self.assertFalse(match_property(property_c, {"key": "value3"}))
+ self.assertFalse(match_property(property_c, {"key": "value1"}))
+
+ with self.assertRaises(ValidationError):
+ match_property(property_a, {"key2": "value"})
+ match_property(property_c, {"key2": "value1"}) # overrides don't have 'key'
+
+ def test_match_properties_is_set(self):
+ property_a = Property(key="key", operator="is_set")
+ self.assertTrue(match_property(property_a, {"key": "value"}))
+ self.assertTrue(match_property(property_a, {"key": "value2"}))
+ self.assertTrue(match_property(property_a, {"key": ""}))
+ self.assertTrue(match_property(property_a, {"key": None}))
+
+ with self.assertRaises(ValidationError):
+ match_property(property_a, {"key2": "value"})
+ match_property(property_a, {})
+
+ def test_match_properties_icontains(self):
+ property_a = Property(key="key", value="valUe", operator="icontains")
+ self.assertTrue(match_property(property_a, {"key": "value"}))
+ self.assertTrue(match_property(property_a, {"key": "value2"}))
+ self.assertTrue(match_property(property_a, {"key": "value3"}))
+ self.assertTrue(match_property(property_a, {"key": "vaLue4"}))
+ self.assertTrue(match_property(property_a, {"key": "343tfvalue5"}))
+
+ self.assertFalse(match_property(property_a, {"key": "Alakazam"}))
+ self.assertFalse(match_property(property_a, {"key": 123}))
+
+ property_b = Property(key="key", value="3", operator="icontains")
+ self.assertTrue(match_property(property_b, {"key": "3"}))
+ self.assertTrue(match_property(property_b, {"key": 323}))
+ self.assertTrue(match_property(property_b, {"key": "val3"}))
+
+ self.assertFalse(match_property(property_b, {"key": "three"}))
+
+ def test_match_properties_regex(self):
+ property_a = Property(key="key", value=r"\.com$", operator="regex")
+ self.assertTrue(match_property(property_a, {"key": "value.com"}))
+ self.assertTrue(match_property(property_a, {"key": "value2.com"}))
+
+ self.assertFalse(match_property(property_a, {"key": ".com343tfvalue5"}))
+ self.assertFalse(match_property(property_a, {"key": "Alakazam"}))
+ self.assertFalse(match_property(property_a, {"key": 123}))
+
+ property_b = Property(key="key", value="3", operator="regex")
+ self.assertTrue(match_property(property_b, {"key": "3"}))
+ self.assertTrue(match_property(property_b, {"key": 323}))
+ self.assertTrue(match_property(property_b, {"key": "val3"}))
+
+ self.assertFalse(match_property(property_b, {"key": "three"}))
+
+ # invalid regex
+ property_c = Property(key="key", value=r"?*", operator="regex")
+ self.assertFalse(match_property(property_c, {"key": "value"}))
+ self.assertFalse(match_property(property_c, {"key": "value2"}))
+
+ # non string value
+ property_d = Property(key="key", value=4, operator="regex")
+ self.assertTrue(match_property(property_d, {"key": "4"}))
+ self.assertTrue(match_property(property_d, {"key": 4}))
+
+ self.assertFalse(match_property(property_d, {"key": "value"}))
+
+ def test_match_properties_math_operators(self):
+ property_a = Property(key="key", value=1, operator="gt")
+ self.assertTrue(match_property(property_a, {"key": 2}))
+ self.assertTrue(match_property(property_a, {"key": 3}))
+
+ self.assertFalse(match_property(property_a, {"key": 0}))
+ self.assertFalse(match_property(property_a, {"key": -1}))
+ self.assertFalse(match_property(property_a, {"key": "23"}))
+
+ property_b = Property(key="key", value=1, operator="lt")
+ self.assertTrue(match_property(property_b, {"key": 0}))
+ self.assertTrue(match_property(property_b, {"key": -1}))
+ self.assertTrue(match_property(property_b, {"key": -3}))
+
+ self.assertFalse(match_property(property_b, {"key": 1}))
+ self.assertFalse(match_property(property_b, {"key": "1"}))
+ self.assertFalse(match_property(property_b, {"key": "3"}))
+
+ property_c = Property(key="key", value=1, operator="gte")
+ self.assertTrue(match_property(property_c, {"key": 1}))
+ self.assertTrue(match_property(property_c, {"key": 2}))
+
+ self.assertFalse(match_property(property_c, {"key": 0}))
+ self.assertFalse(match_property(property_c, {"key": -1}))
+ self.assertFalse(match_property(property_c, {"key": "3"}))
+
+ property_d = Property(key="key", value="43", operator="lt")
+ self.assertTrue(match_property(property_d, {"key": "41"}))
+ self.assertTrue(match_property(property_d, {"key": "42"}))
+
+ self.assertFalse(match_property(property_d, {"key": "43"}))
+ self.assertFalse(match_property(property_d, {"key": "44"}))
+ self.assertFalse(match_property(property_d, {"key": 44}))
diff --git a/posthog/test/__snapshots__/test_feature_flag.ambr b/posthog/test/__snapshots__/test_feature_flag.ambr
index c74a4fe6587816..7f30752d6b309c 100644
--- a/posthog/test/__snapshots__/test_feature_flag.ambr
+++ b/posthog/test/__snapshots__/test_feature_flag.ambr
@@ -72,11 +72,11 @@
---
# name: TestFeatureFlagMatcher.test_multiple_flags.3
'
- SELECT ("posthog_person"."properties" -> 'email') = '"test@posthog.com"' AS "flag_87_condition_0",
- (true) AS "flag_87_condition_1",
- (true) AS "flag_88_condition_0",
- (true) AS "flag_89_condition_0",
- (true) AS "flag_93_condition_0"
+ SELECT ("posthog_person"."properties" -> 'email') = '"test@posthog.com"' AS "flag_89_condition_0",
+ (true) AS "flag_89_condition_1",
+ (true) AS "flag_90_condition_0",
+ (true) AS "flag_91_condition_0",
+ (true) AS "flag_95_condition_0"
FROM "posthog_person"
INNER JOIN "posthog_persondistinctid" ON ("posthog_person"."id" = "posthog_persondistinctid"."person_id")
WHERE ("posthog_persondistinctid"."distinct_id" = 'test_id'
@@ -87,12 +87,12 @@
# name: TestFeatureFlagMatcher.test_multiple_flags.4
'
SELECT ("posthog_group"."group_key" = 'group_key'
- AND "posthog_group"."group_type_index" = 2) AS "flag_90_condition_0",
+ AND "posthog_group"."group_type_index" = 2) AS "flag_92_condition_0",
("posthog_group"."group_key" = 'group_key'
- AND "posthog_group"."group_type_index" = 2) AS "flag_91_condition_0",
+ AND "posthog_group"."group_type_index" = 2) AS "flag_93_condition_0",
(("posthog_group"."group_properties" -> 'name') IN ('"foo.inc"')
AND "posthog_group"."group_key" = 'foo'
- AND "posthog_group"."group_type_index" = 2) AS "flag_92_condition_0"
+ AND "posthog_group"."group_type_index" = 2) AS "flag_94_condition_0"
FROM "posthog_group"
WHERE "posthog_group"."team_id" = 2
'
diff --git a/posthog/test/test_feature_flag.py b/posthog/test/test_feature_flag.py
index d4420311a71031..3ea927366e48c8 100644
--- a/posthog/test/test_feature_flag.py
+++ b/posthog/test/test_feature_flag.py
@@ -166,6 +166,9 @@ def test_multi_property_filters(self):
Person.objects.create(
team=self.team, distinct_ids=["another_id"], properties={"email": "example@example.com"},
)
+ Person.objects.create(
+ team=self.team, distinct_ids=["false_id"], properties={},
+ )
feature_flag = self.create_feature_flag(
filters={
"groups": [
@@ -184,6 +187,78 @@ def test_multi_property_filters(self):
)
self.assertIsNone(FeatureFlagMatcher([feature_flag], "false_id").get_match(feature_flag))
+ def test_multi_property_filters_with_override_properties(self):
+ Person.objects.create(
+ team=self.team, distinct_ids=["example_id"], properties={"email": "tim@posthog.com"},
+ )
+ Person.objects.create(
+ team=self.team, distinct_ids=["another_id"], properties={"email": "example@example.com"},
+ )
+ Person.objects.create(
+ team=self.team, distinct_ids=["random_id"], properties={},
+ )
+ feature_flag = self.create_feature_flag(
+ filters={
+ "groups": [
+ {"properties": [{"key": "email", "value": "tim@posthog.com",}]},
+ {"properties": [{"key": "email", "value": "example@example.com"}]},
+ ]
+ }
+ )
+ with self.assertNumQueries(2):
+ self.assertEqual(
+ FeatureFlagMatcher([feature_flag], "example_id", property_value_overrides={}).get_match(feature_flag),
+ FeatureFlagMatch(),
+ )
+ self.assertIsNone(
+ FeatureFlagMatcher([feature_flag], "example_id", property_value_overrides={"email": "bzz"}).get_match(
+ feature_flag
+ )
+ )
+
+ with self.assertNumQueries(2):
+ self.assertIsNone(FeatureFlagMatcher([feature_flag], "random_id").get_match(feature_flag))
+ self.assertEqual(
+ FeatureFlagMatcher(
+ [feature_flag], "random_id", property_value_overrides={"email": "example@example.com"}
+ ).get_match(feature_flag),
+ FeatureFlagMatch(),
+ )
+
+ def test_multi_property_filters_with_override_properties_with_is_not_set(self):
+ Person.objects.create(
+ team=self.team, distinct_ids=["example_id"], properties={"email": "tim@posthog.com"},
+ )
+ Person.objects.create(
+ team=self.team, distinct_ids=["another_id"], properties={"email": "example@example.com"},
+ )
+ Person.objects.create(
+ team=self.team, distinct_ids=["random_id"], properties={},
+ )
+ feature_flag = self.create_feature_flag(
+ filters={"groups": [{"properties": [{"key": "email", "operator": "is_not_set"}]},]}
+ )
+ with self.assertNumQueries(2):
+ self.assertIsNone(
+ FeatureFlagMatcher([feature_flag], "example_id", property_value_overrides={}).get_match(feature_flag),
+ )
+ self.assertIsNone(
+ FeatureFlagMatcher([feature_flag], "example_id", property_value_overrides={"email": "bzz"}).get_match(
+ feature_flag
+ )
+ )
+
+ with self.assertNumQueries(2):
+ self.assertEqual(
+ FeatureFlagMatcher([feature_flag], "random_id").get_match(feature_flag), FeatureFlagMatch()
+ )
+ self.assertEqual(
+ FeatureFlagMatcher(
+ [feature_flag], "random_id", property_value_overrides={"email": "example@example.com"}
+ ).get_match(feature_flag),
+ FeatureFlagMatch(),
+ )
+
def test_user_in_cohort(self):
Person.objects.create(team=self.team, distinct_ids=["example_id_1"], properties={"$some_prop_1": "something_1"})
cohort = Cohort.objects.create(
From 4bce5dfa8a5f1a43114f567959c05f7cdaf125b7 Mon Sep 17 00:00:00 2001
From: Yakko Majuri <38760734+yakkomajuri@users.noreply.github.com>
Date: Wed, 20 Jul 2022 12:16:13 +0000
Subject: [PATCH 120/213] feat: (bring back) buffer 3.0 again (#10896)
* Revert "Revert "feat: (bring back) buffer 3.0 (#10874)" (#10883)"
This reverts commit e203bc7cfac3b4dfcaaf92a6af58b6ec4278b1c5.
* reduce graphile load
---
plugin-server/src/capabilities.ts | 9 ++-
.../src/main/ingestion-queues/buffer.ts | 75 -------------------
plugin-server/src/main/job-queues/buffer.ts | 9 +++
.../job-queues/concurrent/graphile-queue.ts | 2 +-
.../src/main/job-queues/job-queue-consumer.ts | 44 ++++++++---
.../src/main/job-queues/job-queue-manager.ts | 15 +++-
.../src/main/job-queues/local/fs-queue.ts | 8 +-
plugin-server/src/main/pluginsServer.ts | 17 +----
plugin-server/src/types.ts | 11 ++-
plugin-server/src/utils/db/db.ts | 9 ---
.../event-pipeline/1-emitToBufferStep.ts | 11 ++-
plugin-server/src/worker/tasks.ts | 7 +-
plugin-server/src/worker/vm/capabilities.ts | 2 +-
.../src/worker/vm/extensions/jobs.ts | 23 ++++--
plugin-server/src/worker/vm/lazy.ts | 2 +-
plugin-server/src/worker/worker.ts | 2 +-
plugin-server/tests/jobs.test.ts | 1 -
plugin-server/tests/main/capabilities.test.ts | 66 ++++++++++++----
plugin-server/tests/main/db.test.ts | 15 ----
.../main/ingestion-queues/buffer.test.ts | 50 -------------
plugin-server/tests/server.test.ts | 15 +++-
.../tests/worker/capabilities.test.ts | 15 ++--
.../event-pipeline/emitToBufferStep.test.ts | 21 ++++--
plugin-server/tests/worker/vm.lazy.test.ts | 7 +-
24 files changed, 204 insertions(+), 232 deletions(-)
delete mode 100644 plugin-server/src/main/ingestion-queues/buffer.ts
create mode 100644 plugin-server/src/main/job-queues/buffer.ts
delete mode 100644 plugin-server/tests/main/ingestion-queues/buffer.test.ts
diff --git a/plugin-server/src/capabilities.ts b/plugin-server/src/capabilities.ts
index d88b5d14d7e26d..91ac6aa87027bb 100644
--- a/plugin-server/src/capabilities.ts
+++ b/plugin-server/src/capabilities.ts
@@ -10,13 +10,18 @@ export function getPluginServerCapabilities(config: PluginsServerConfig): Plugin
return {
ingestion: true,
pluginScheduledTasks: true,
- processJobs: true,
+ processPluginJobs: true,
processAsyncHandlers: true,
...sharedCapabilities,
}
case 'ingestion':
return { ingestion: true, ...sharedCapabilities }
case 'async':
- return { pluginScheduledTasks: true, processJobs: true, processAsyncHandlers: true, ...sharedCapabilities }
+ return {
+ pluginScheduledTasks: true,
+ processPluginJobs: true,
+ processAsyncHandlers: true,
+ ...sharedCapabilities,
+ }
}
}
diff --git a/plugin-server/src/main/ingestion-queues/buffer.ts b/plugin-server/src/main/ingestion-queues/buffer.ts
deleted file mode 100644
index 3f0e76f3a26b5b..00000000000000
--- a/plugin-server/src/main/ingestion-queues/buffer.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import Piscina from '@posthog/piscina'
-import { PluginEvent } from '@posthog/plugin-scaffold'
-
-import { Hub } from '../../types'
-import { runInstrumentedFunction } from '../utils'
-
-export function runBufferEventPipeline(hub: Hub, piscina: Piscina, event: PluginEvent) {
- hub.lastActivity = new Date().valueOf()
- hub.lastActivityType = 'runBufferEventPipeline'
- return piscina.run({ task: 'runBufferEventPipeline', args: { event } })
-}
-
-export async function runBuffer(hub: Hub, piscina: Piscina): Promise {
- let eventRows: { id: number; event: PluginEvent }[] = []
- await hub.db.postgresTransaction(async (client) => {
- const eventsResult = await client.query(`
- UPDATE posthog_eventbuffer SET locked=true WHERE id IN (
- SELECT id FROM posthog_eventbuffer
- WHERE process_at <= now() AND process_at > (now() - INTERVAL '30 minute') AND locked=false
- ORDER BY id
- LIMIT 10
- FOR UPDATE SKIP LOCKED
- )
- RETURNING id, event
- `)
- eventRows = eventsResult.rows
- })
-
- const idsToDelete: number[] = []
-
- // We don't indiscriminately delete all IDs to prevent the case when we don't trigger `runInstrumentedFunction`
- // Once that runs, events will either go to the events table or the dead letter queue
- const processBufferEvent = async (event: PluginEvent, id: number) => {
- await runInstrumentedFunction({
- server: hub,
- event: event,
- func: () => runBufferEventPipeline(hub, piscina, event),
- statsKey: `kafka_queue.ingest_buffer_event`,
- timeoutMessage: 'After 30 seconds still running runBufferEventPipeline',
- })
- idsToDelete.push(id)
- }
-
- await Promise.all(eventRows.map((eventRow) => processBufferEvent(eventRow.event, eventRow.id)))
-
- if (idsToDelete.length > 0) {
- await hub.db.postgresQuery(
- `DELETE FROM posthog_eventbuffer WHERE id IN (${idsToDelete.join(',')})`,
- [],
- 'completeBufferEvent'
- )
- hub.statsd?.increment('events_deleted_from_buffer', idsToDelete.length)
- }
-}
-
-export async function clearBufferLocks(hub: Hub): Promise {
- /*
- * If we crash during runBuffer we may end up with 2 scenarios:
- * 1. "locked" rows with events that were never processed (crashed after fetching and before running the pipeline)
- * 2. "locked" rows with events that were processed (crashed after the pipeline and before deletion)
- * This clears any old locks such that the events are processed again. If there are any duplicates ClickHouse should collapse them.
- */
- const recordsUpdated = await hub.db.postgresQuery(
- `UPDATE posthog_eventbuffer
- SET locked=false, process_at=now()
- WHERE locked=true AND process_at < (now() - INTERVAL '30 minute')
- RETURNING 1`,
- [],
- 'clearBufferLocks'
- )
-
- if (recordsUpdated.rowCount > 0 && hub.statsd) {
- hub.statsd.increment('buffer_locks_cleared', recordsUpdated.rowCount)
- }
-}
diff --git a/plugin-server/src/main/job-queues/buffer.ts b/plugin-server/src/main/job-queues/buffer.ts
new file mode 100644
index 00000000000000..1c52b5eefe6e88
--- /dev/null
+++ b/plugin-server/src/main/job-queues/buffer.ts
@@ -0,0 +1,9 @@
+import Piscina from '@posthog/piscina'
+import { PluginEvent } from '@posthog/plugin-scaffold'
+import { Hub } from 'types'
+
+export function runBufferEventPipeline(hub: Hub, piscina: Piscina, event: PluginEvent): Promise {
+ hub.lastActivity = new Date().valueOf()
+ hub.lastActivityType = 'runBufferEventPipeline'
+ return piscina.run({ task: 'runBufferEventPipeline', args: { event } })
+}
diff --git a/plugin-server/src/main/job-queues/concurrent/graphile-queue.ts b/plugin-server/src/main/job-queues/concurrent/graphile-queue.ts
index eb0627027995be..a9bbd234c73c71 100644
--- a/plugin-server/src/main/job-queues/concurrent/graphile-queue.ts
+++ b/plugin-server/src/main/job-queues/concurrent/graphile-queue.ts
@@ -77,7 +77,7 @@ export class GraphileQueue extends JobQueueBase {
concurrency: 1,
// Install signal handlers for graceful shutdown on SIGINT, SIGTERM, etc
noHandleSignals: false,
- pollInterval: 100,
+ pollInterval: this.serverConfig.PLUGIN_SERVER_MODE === 'async' ? 100 : 2000,
// you can set the taskList or taskDirectory but not both
taskList: this.jobHandlers,
})
diff --git a/plugin-server/src/main/job-queues/job-queue-consumer.ts b/plugin-server/src/main/job-queues/job-queue-consumer.ts
index a41911766480b0..3927156d5b8b3b 100644
--- a/plugin-server/src/main/job-queues/job-queue-consumer.ts
+++ b/plugin-server/src/main/job-queues/job-queue-consumer.ts
@@ -1,31 +1,53 @@
import Piscina from '@posthog/piscina'
import { TaskList } from 'graphile-worker'
-import { EnqueuedJob, Hub, JobQueueConsumerControl } from '../../types'
+import { EnqueuedBufferJob, EnqueuedPluginJob, Hub, JobQueueConsumerControl } from '../../types'
import { killProcess } from '../../utils/kill'
import { status } from '../../utils/status'
import { logOrThrowJobQueueError } from '../../utils/utils'
import { pauseQueueIfWorkerFull } from '../ingestion-queues/queue'
+import { runInstrumentedFunction } from '../utils'
+import { runBufferEventPipeline } from './buffer'
-export async function startJobQueueConsumer(server: Hub, piscina: Piscina): Promise {
+export async function startJobQueueConsumer(hub: Hub, piscina: Piscina): Promise {
status.info('🔄', 'Starting job queue consumer, trying to get lock...')
- const jobHandlers: TaskList = {
+ const ingestionJobHandlers: TaskList = {
+ bufferJob: async (job) => {
+ pauseQueueIfWorkerFull(() => hub.jobQueueManager.pauseConsumer(), hub, piscina)
+ const eventPayload = (job as EnqueuedBufferJob).eventPayload
+ await runInstrumentedFunction({
+ server: hub,
+ event: eventPayload,
+ func: () => runBufferEventPipeline(hub, piscina, eventPayload),
+ statsKey: `kafka_queue.ingest_buffer_event`,
+ timeoutMessage: 'After 30 seconds still running runBufferEventPipeline',
+ })
+ hub.statsd?.increment('events_deleted_from_buffer')
+ },
+ }
+
+ const pluginJobHandlers: TaskList = {
pluginJob: async (job) => {
- pauseQueueIfWorkerFull(() => server.jobQueueManager.pauseConsumer(), server, piscina)
- server.statsd?.increment('triggered_job', {
- instanceId: server.instanceId.toString(),
+ pauseQueueIfWorkerFull(() => hub.jobQueueManager.pauseConsumer(), hub, piscina)
+ hub.statsd?.increment('triggered_job', {
+ instanceId: hub.instanceId.toString(),
})
- await piscina.run({ task: 'runJob', args: { job: job as EnqueuedJob } })
+ await piscina.run({ task: 'runPluginJob', args: { job: job as EnqueuedPluginJob } })
},
}
+ const jobHandlers: TaskList = {
+ ...(hub.capabilities.ingestion ? ingestionJobHandlers : {}),
+ ...(hub.capabilities.processPluginJobs ? pluginJobHandlers : {}),
+ }
+
status.info('🔄', 'Job queue consumer starting')
try {
- await server.jobQueueManager.startConsumer(jobHandlers)
+ await hub.jobQueueManager.startConsumer(jobHandlers)
} catch (error) {
try {
- logOrThrowJobQueueError(server, error, `Cannot start job queue consumer!`)
+ logOrThrowJobQueueError(hub, error, `Cannot start job queue consumer!`)
} catch {
killProcess()
}
@@ -33,8 +55,8 @@ export async function startJobQueueConsumer(server: Hub, piscina: Piscina): Prom
const stop = async () => {
status.info('🔄', 'Stopping job queue consumer')
- await server.jobQueueManager.stopConsumer()
+ await hub.jobQueueManager.stopConsumer()
}
- return { stop, resume: () => server.jobQueueManager.resumeConsumer() }
+ return { stop, resume: () => hub.jobQueueManager.resumeConsumer() }
}
diff --git a/plugin-server/src/main/job-queues/job-queue-manager.ts b/plugin-server/src/main/job-queues/job-queue-manager.ts
index f9532c846ba091..d8a43a9c31d60f 100644
--- a/plugin-server/src/main/job-queues/job-queue-manager.ts
+++ b/plugin-server/src/main/job-queues/job-queue-manager.ts
@@ -54,6 +54,7 @@ export class JobQueueManager implements JobQueue {
for (const jobQueue of this.jobQueues) {
try {
await jobQueue.enqueue(jobName, job)
+ this.pluginsServer.statsd?.increment('enqueue_job.success', { jobName })
return
} catch (error) {
// if one fails, take the next queue
@@ -66,7 +67,19 @@ export class JobQueueManager implements JobQueue {
})
}
}
- throw new Error('No JobQueue available')
+
+ this.pluginsServer.statsd?.increment('enqueue_job.fail', { jobName })
+
+ const error = new Error('No JobQueue available')
+ Sentry.captureException(error, {
+ extra: {
+ jobName,
+ job: JSON.stringify(job),
+ queues: this.jobQueues.map((q) => q.toString()),
+ },
+ })
+
+ throw error
}
async disconnectProducer(): Promise {
diff --git a/plugin-server/src/main/job-queues/local/fs-queue.ts b/plugin-server/src/main/job-queues/local/fs-queue.ts
index cd5826f264497a..45d561f56dc65c 100644
--- a/plugin-server/src/main/job-queues/local/fs-queue.ts
+++ b/plugin-server/src/main/job-queues/local/fs-queue.ts
@@ -7,8 +7,14 @@ import * as path from 'path'
import { JobQueueBase } from '../job-queue-base'
-interface FsJob extends EnqueuedJob {
+interface FsJob {
jobName: string
+ timestamp: number
+ type?: string
+ payload?: Record
+ eventPayload?: Record
+ pluginConfigId?: number
+ pluginConfigTeam?: number
}
export class FsQueue extends JobQueueBase {
paused: boolean
diff --git a/plugin-server/src/main/pluginsServer.ts b/plugin-server/src/main/pluginsServer.ts
index b1d978d103c724..a1c984f995a70f 100644
--- a/plugin-server/src/main/pluginsServer.ts
+++ b/plugin-server/src/main/pluginsServer.ts
@@ -22,7 +22,6 @@ import { cancelAllScheduledJobs } from '../utils/node-schedule'
import { PubSub } from '../utils/pubsub'
import { status } from '../utils/status'
import { delay, getPiscinaStats, stalenessCheck } from '../utils/utils'
-import { clearBufferLocks, runBuffer } from './ingestion-queues/buffer'
import { KafkaQueue } from './ingestion-queues/kafka-queue'
import { startQueues } from './ingestion-queues/queue'
import { startJobQueueConsumer } from './job-queues/job-queue-consumer'
@@ -170,7 +169,7 @@ export async function startPluginsServer(
if (hub.capabilities.pluginScheduledTasks) {
pluginScheduleControl = await startPluginSchedules(hub, piscina)
}
- if (hub.capabilities.processJobs) {
+ if (hub.capabilities.ingestion || hub.capabilities.processPluginJobs) {
jobQueueConsumer = await startJobQueueConsumer(hub, piscina)
}
@@ -228,20 +227,6 @@ export async function startPluginsServer(
}
})
- if (hub.capabilities.ingestion) {
- // every 5 seconds process buffer events
- schedule.scheduleJob('*/5 * * * * *', async () => {
- if (piscina) {
- await runBuffer(hub!, piscina)
- }
- })
- }
-
- // every 30 minutes clear any locks that may have lingered on the buffer table
- schedule.scheduleJob('*/30 * * * *', async () => {
- await clearBufferLocks(hub!)
- })
-
// every minute log information on kafka consumer
if (queue) {
schedule.scheduleJob('0 * * * * *', async () => {
diff --git a/plugin-server/src/types.ts b/plugin-server/src/types.ts
index 20c0514ca76829..c39b4997fb7155 100644
--- a/plugin-server/src/types.ts
+++ b/plugin-server/src/types.ts
@@ -201,12 +201,13 @@ export interface Hub extends PluginsServerConfig {
export interface PluginServerCapabilities {
ingestion?: boolean
pluginScheduledTasks?: boolean
- processJobs?: boolean
+ processPluginJobs?: boolean
processAsyncHandlers?: boolean
http?: boolean
}
-export interface EnqueuedJob {
+export type EnqueuedJob = EnqueuedPluginJob | EnqueuedBufferJob
+export interface EnqueuedPluginJob {
type: string
payload: Record
timestamp: number
@@ -214,8 +215,14 @@ export interface EnqueuedJob {
pluginConfigTeam: number
}
+export interface EnqueuedBufferJob {
+ eventPayload: PluginEvent
+ timestamp: number
+}
+
export enum JobName {
PLUGIN_JOB = 'pluginJob',
+ BUFFER_JOB = 'bufferJob',
}
export interface JobQueue {
diff --git a/plugin-server/src/utils/db/db.ts b/plugin-server/src/utils/db/db.ts
index ae8b57ec1458ac..300ce2a5d9c816 100644
--- a/plugin-server/src/utils/db/db.ts
+++ b/plugin-server/src/utils/db/db.ts
@@ -2041,13 +2041,4 @@ export class DB {
)
return response.rowCount > 0
}
-
- public async addEventToBuffer(event: Record, processAt: DateTime): Promise {
- await this.postgresQuery(
- `INSERT INTO posthog_eventbuffer (event, process_at, locked) VALUES ($1, $2, $3)`,
- [event, processAt.toISO(), false],
- 'addEventToBuffer'
- )
- this.statsd?.increment('events_sent_to_buffer')
- }
}
diff --git a/plugin-server/src/worker/ingestion/event-pipeline/1-emitToBufferStep.ts b/plugin-server/src/worker/ingestion/event-pipeline/1-emitToBufferStep.ts
index 94eb11c075dfe3..9c2f926701cb99 100644
--- a/plugin-server/src/worker/ingestion/event-pipeline/1-emitToBufferStep.ts
+++ b/plugin-server/src/worker/ingestion/event-pipeline/1-emitToBufferStep.ts
@@ -1,7 +1,6 @@
import { PluginEvent } from '@posthog/plugin-scaffold'
-import { DateTime } from 'luxon'
-import { Hub, IngestionPersonData, TeamId } from '../../../types'
+import { Hub, IngestionPersonData, JobName, TeamId } from '../../../types'
import { EventPipelineRunner, StepResult } from './runner'
export async function emitToBufferStep(
@@ -21,8 +20,12 @@ export async function emitToBufferStep(
const person = await runner.hub.db.fetchPerson(event.team_id, event.distinct_id)
if (shouldBuffer(runner.hub, event, person, event.team_id)) {
- const processEventAt = DateTime.now().plus({ seconds: runner.hub.BUFFER_CONVERSION_SECONDS })
- await runner.hub.db.addEventToBuffer(event, processEventAt)
+ const processEventAt = Date.now() + runner.hub.BUFFER_CONVERSION_SECONDS * 1000
+ await runner.hub.jobQueueManager.enqueue(JobName.BUFFER_JOB, {
+ eventPayload: event,
+ timestamp: processEventAt,
+ })
+ runner.hub.statsd?.increment('events_sent_to_buffer')
return null
} else {
return runner.nextStep('pluginsProcessEventStep', event, person)
diff --git a/plugin-server/src/worker/tasks.ts b/plugin-server/src/worker/tasks.ts
index 0e94a0971ac8dd..53c34a2bbb46cd 100644
--- a/plugin-server/src/worker/tasks.ts
+++ b/plugin-server/src/worker/tasks.ts
@@ -1,6 +1,6 @@
import { PluginEvent } from '@posthog/plugin-scaffold/src/types'
-import { Action, EnqueuedJob, Hub, IngestionEvent, JobName, PluginTaskType, Team } from '../types'
+import { Action, EnqueuedPluginJob, Hub, IngestionEvent, PluginTaskType, Team } from '../types'
import { convertToProcessedPluginEvent } from '../utils/event'
import { EventPipelineRunner } from './ingestion/event-pipeline/runner'
import { runPluginTask, runProcessEvent } from './plugins/run'
@@ -10,7 +10,7 @@ import { teardownPlugins } from './plugins/teardown'
type TaskRunner = (hub: Hub, args: any) => Promise | any
export const workerTasks: Record = {
- runJob: (hub, { job }: { job: EnqueuedJob }) => {
+ runPluginJob: (hub, { job }: { job: EnqueuedPluginJob }) => {
return runPluginTask(hub, job.type, PluginTaskType.Job, job.pluginConfigId, job.payload)
},
runEveryMinute: (hub, args: { pluginConfigId: number }) => {
@@ -61,9 +61,6 @@ export const workerTasks: Record = {
flushKafkaMessages: async (hub) => {
await hub.kafkaProducer.flush()
},
- enqueueJob: async (hub, { job }: { job: EnqueuedJob }) => {
- await hub.jobQueueManager.enqueue(JobName.PLUGIN_JOB, job)
- },
// Exported only for tests
_testsRunProcessEvent: async (hub, args: { event: PluginEvent }) => {
return runProcessEvent(hub, args.event)
diff --git a/plugin-server/src/worker/vm/capabilities.ts b/plugin-server/src/worker/vm/capabilities.ts
index 9b52a2d4296a5c..b24716e3ebbed3 100644
--- a/plugin-server/src/worker/vm/capabilities.ts
+++ b/plugin-server/src/worker/vm/capabilities.ts
@@ -41,7 +41,7 @@ function shouldSetupPlugin(serverCapability: keyof PluginServerCapabilities, plu
if (serverCapability === 'pluginScheduledTasks') {
return (pluginCapabilities.scheduled_tasks || []).length > 0
}
- if (serverCapability === 'processJobs') {
+ if (serverCapability === 'processPluginJobs') {
return (pluginCapabilities.jobs || []).length > 0
}
if (serverCapability === 'processAsyncHandlers') {
diff --git a/plugin-server/src/worker/vm/extensions/jobs.ts b/plugin-server/src/worker/vm/extensions/jobs.ts
index 66ee09f1d59c2d..3868a3c9665e59 100644
--- a/plugin-server/src/worker/vm/extensions/jobs.ts
+++ b/plugin-server/src/worker/vm/extensions/jobs.ts
@@ -1,4 +1,4 @@
-import { Hub, PluginConfig } from '../../../types'
+import { Hub, PluginConfig, PluginLogEntryType } from '../../../types'
import { JobName } from './../../../types'
type JobRunner = {
@@ -40,13 +40,20 @@ export function durationToMs(duration: number, unit: string): number {
export function createJobs(server: Hub, pluginConfig: PluginConfig): Jobs {
const runJob = async (type: string, payload: Record, timestamp: number) => {
- await server.jobQueueManager.enqueue(JobName.PLUGIN_JOB, {
- type,
- payload,
- timestamp,
- pluginConfigId: pluginConfig.id,
- pluginConfigTeam: pluginConfig.team_id,
- })
+ try {
+ await server.jobQueueManager.enqueue(JobName.PLUGIN_JOB, {
+ type,
+ payload,
+ timestamp,
+ pluginConfigId: pluginConfig.id,
+ pluginConfigTeam: pluginConfig.team_id,
+ })
+ } catch (e) {
+ await pluginConfig.vm?.createLogEntry(
+ `Failed to enqueue job ${type} with error: ${e.message}`,
+ PluginLogEntryType.Error
+ )
+ }
}
return new Proxy(
diff --git a/plugin-server/src/worker/vm/lazy.ts b/plugin-server/src/worker/vm/lazy.ts
index 36d7362c3eef7e..49969905c48f09 100644
--- a/plugin-server/src/worker/vm/lazy.ts
+++ b/plugin-server/src/worker/vm/lazy.ts
@@ -234,7 +234,7 @@ export class LazyPluginVM {
}
}
- private async createLogEntry(message: string, logType = PluginLogEntryType.Info): Promise {
+ public async createLogEntry(message: string, logType = PluginLogEntryType.Info): Promise {
await this.hub.db.queuePluginLogEntry({
message,
pluginConfig: this.pluginConfig,
diff --git a/plugin-server/src/worker/worker.ts b/plugin-server/src/worker/worker.ts
index b933b2dc64872e..2e24c9c96033a0 100644
--- a/plugin-server/src/worker/worker.ts
+++ b/plugin-server/src/worker/worker.ts
@@ -50,7 +50,7 @@ export const createTaskRunner =
}
hub.statsd?.timing(`piscina_task.${task}`, timer)
- if (task === 'runJob') {
+ if (task === 'runPluginJob') {
hub.statsd?.timing('plugin_job', timer, {
type: String(args.job?.type),
pluginConfigId: String(args.job?.pluginConfigId),
diff --git a/plugin-server/tests/jobs.test.ts b/plugin-server/tests/jobs.test.ts
index d089958f981752..55cb02dd5994e7 100644
--- a/plugin-server/tests/jobs.test.ts
+++ b/plugin-server/tests/jobs.test.ts
@@ -150,7 +150,6 @@ describe.skip('job queues', () => {
const now = Date.now()
const job: EnqueuedJob = {
- type: 'pluginJob',
payload: { key: 'value' },
timestamp: now + DELAY,
pluginConfigId: 2,
diff --git a/plugin-server/tests/main/capabilities.test.ts b/plugin-server/tests/main/capabilities.test.ts
index 2548d30ff62dc1..52bff7abeb7696 100644
--- a/plugin-server/tests/main/capabilities.test.ts
+++ b/plugin-server/tests/main/capabilities.test.ts
@@ -2,28 +2,29 @@ import Piscina from '@posthog/piscina'
import { KafkaQueue } from '../../src/main/ingestion-queues/kafka-queue'
import { startQueues } from '../../src/main/ingestion-queues/queue'
+import { startJobQueueConsumer } from '../../src/main/job-queues/job-queue-consumer'
import { Hub, LogLevel } from '../../src/types'
import { createHub } from '../../src/utils/db/hub'
jest.mock('../../src/main/ingestion-queues/kafka-queue')
-describe('queue', () => {
- describe('capabilities', () => {
- let hub: Hub
- let piscina: Piscina
- let closeHub: () => Promise
+describe('capabilities', () => {
+ let hub: Hub
+ let piscina: Piscina
+ let closeHub: () => Promise
- beforeEach(async () => {
- ;[hub, closeHub] = await createHub({
- LOG_LEVEL: LogLevel.Warn,
- })
- piscina = { run: jest.fn() } as any
+ beforeEach(async () => {
+ ;[hub, closeHub] = await createHub({
+ LOG_LEVEL: LogLevel.Warn,
})
+ piscina = { run: jest.fn() } as any
+ })
- afterEach(async () => {
- await closeHub()
- })
+ afterEach(async () => {
+ await closeHub()
+ })
+ describe('queue', () => {
it('starts ingestion queue by default', async () => {
const queues = await startQueues(hub, piscina)
@@ -43,4 +44,43 @@ describe('queue', () => {
})
})
})
+
+ describe('startJobQueueConsumer()', () => {
+ it('sets up bufferJob handler if ingestion is on', async () => {
+ hub.jobQueueManager.startConsumer = jest.fn()
+ hub.capabilities.ingestion = true
+ hub.capabilities.processPluginJobs = false
+
+ await startJobQueueConsumer(hub, piscina)
+
+ expect(hub.jobQueueManager.startConsumer).toHaveBeenCalledWith({
+ bufferJob: expect.anything(),
+ })
+ })
+
+ it('sets up pluginJob handler if processPluginJobs is on', async () => {
+ hub.jobQueueManager.startConsumer = jest.fn()
+ hub.capabilities.ingestion = false
+ hub.capabilities.processPluginJobs = true
+
+ await startJobQueueConsumer(hub, piscina)
+
+ expect(hub.jobQueueManager.startConsumer).toHaveBeenCalledWith({
+ pluginJob: expect.anything(),
+ })
+ })
+
+ it('sets up bufferJob and pluginJob handlers if ingestion and processPluginJobs are on', async () => {
+ hub.jobQueueManager.startConsumer = jest.fn()
+ hub.capabilities.ingestion = true
+ hub.capabilities.processPluginJobs = true
+
+ await startJobQueueConsumer(hub, piscina)
+
+ expect(hub.jobQueueManager.startConsumer).toHaveBeenCalledWith({
+ bufferJob: expect.anything(),
+ pluginJob: expect.anything(),
+ })
+ })
+ })
})
diff --git a/plugin-server/tests/main/db.test.ts b/plugin-server/tests/main/db.test.ts
index a6a7e65523ce5c..6093aedf3c0428 100644
--- a/plugin-server/tests/main/db.test.ts
+++ b/plugin-server/tests/main/db.test.ts
@@ -1026,19 +1026,4 @@ describe('DB', () => {
)
})
})
-
- describe('addEventToBuffer', () => {
- test('inserts event correctly', async () => {
- const processAt = DateTime.now()
- await db.addEventToBuffer({ foo: 'bar' }, processAt)
-
- const bufferResult = await db.postgresQuery(
- 'SELECT event, process_at FROM posthog_eventbuffer',
- [],
- 'addEventToBufferTest'
- )
- expect(bufferResult.rows[0].event).toEqual({ foo: 'bar' })
- expect(processAt).toEqual(DateTime.fromISO(bufferResult.rows[0].process_at))
- })
- })
})
diff --git a/plugin-server/tests/main/ingestion-queues/buffer.test.ts b/plugin-server/tests/main/ingestion-queues/buffer.test.ts
deleted file mode 100644
index 9751bbc9a0318f..00000000000000
--- a/plugin-server/tests/main/ingestion-queues/buffer.test.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import Piscina from '@posthog/piscina'
-import { DateTime } from 'luxon'
-
-import { runBuffer } from '../../../src/main/ingestion-queues/buffer'
-import { runInstrumentedFunction } from '../../../src/main/utils'
-import { Hub } from '../../../src/types'
-import { DB } from '../../../src/utils/db/db'
-import { createHub } from '../../../src/utils/db/hub'
-import { resetTestDatabase } from '../../helpers/sql'
-
-// jest.mock('../../../src/utils')
-jest.mock('../../../src/main/utils')
-
-describe('Event buffer', () => {
- let hub: Hub
- let closeServer: () => Promise
- let db: DB
-
- beforeEach(async () => {
- ;[hub, closeServer] = await createHub()
- await resetTestDatabase(undefined, {}, {}, { withExtendedTestData: false })
- db = hub.db
- })
-
- afterEach(async () => {
- await closeServer()
- jest.clearAllMocks()
- })
-
- describe('runBuffer', () => {
- test('processes events from buffer and deletes them', async () => {
- const processAt = DateTime.now()
- await db.addEventToBuffer({ foo: 'bar' }, processAt)
- await db.addEventToBuffer({ foo: 'bar' }, processAt)
-
- await runBuffer(hub, {} as Piscina)
-
- expect(runInstrumentedFunction).toHaveBeenCalledTimes(2)
- expect(runInstrumentedFunction).toHaveBeenLastCalledWith(expect.objectContaining({ event: { foo: 'bar' } }))
-
- const countResult = await db.postgresQuery(
- 'SELECT count(*) FROM posthog_eventbuffer',
- [],
- 'eventBufferCountTest'
- )
-
- expect(Number(countResult.rows[0].count)).toEqual(0)
- })
- })
-})
diff --git a/plugin-server/tests/server.test.ts b/plugin-server/tests/server.test.ts
index 3fa9d81bd583a2..1766a360b3307d 100644
--- a/plugin-server/tests/server.test.ts
+++ b/plugin-server/tests/server.test.ts
@@ -111,20 +111,29 @@ describe('server', () => {
test('disabling pluginScheduledTasks', async () => {
pluginsServer = await createPluginServer(
{},
- { ingestion: true, pluginScheduledTasks: false, processJobs: true }
+ { ingestion: true, pluginScheduledTasks: false, processPluginJobs: true }
)
expect(startPluginSchedules).not.toHaveBeenCalled()
expect(startJobQueueConsumer).toHaveBeenCalled()
})
- test('disabling processJobs', async () => {
+ test('disabling processPluginJobs', async () => {
pluginsServer = await createPluginServer(
{},
- { ingestion: true, pluginScheduledTasks: true, processJobs: false }
+ { ingestion: true, pluginScheduledTasks: true, processPluginJobs: false }
)
expect(startPluginSchedules).toHaveBeenCalled()
+ expect(startJobQueueConsumer).toHaveBeenCalled()
+ })
+
+ test('disabling processPluginJobs and ingestion', async () => {
+ pluginsServer = await createPluginServer(
+ {},
+ { ingestion: false, pluginScheduledTasks: true, processPluginJobs: false }
+ )
+
expect(startJobQueueConsumer).not.toHaveBeenCalled()
})
})
diff --git a/plugin-server/tests/worker/capabilities.test.ts b/plugin-server/tests/worker/capabilities.test.ts
index 517bbebe2b3dd7..caed30fabd3d67 100644
--- a/plugin-server/tests/worker/capabilities.test.ts
+++ b/plugin-server/tests/worker/capabilities.test.ts
@@ -72,7 +72,12 @@ describe('capabilities', () => {
it('returns false if the plugin has no capabilities', () => {
const shouldSetupPlugin = shouldSetupPluginInServer(
- { ingestion: true, processAsyncHandlers: true, processJobs: true, pluginScheduledTasks: true },
+ {
+ ingestion: true,
+ processAsyncHandlers: true,
+ processPluginJobs: true,
+ pluginScheduledTasks: true,
+ },
{}
)
expect(shouldSetupPlugin).toEqual(false)
@@ -117,13 +122,13 @@ describe('capabilities', () => {
})
describe('jobs', () => {
- it('returns true if plugin has any jobs and the server has processJobs capability', () => {
- const shouldSetupPlugin = shouldSetupPluginInServer({ processJobs: true }, { jobs: ['someJob'] })
+ it('returns true if plugin has any jobs and the server has processPluginJobs capability', () => {
+ const shouldSetupPlugin = shouldSetupPluginInServer({ processPluginJobs: true }, { jobs: ['someJob'] })
expect(shouldSetupPlugin).toEqual(true)
})
- it('returns false if plugin has no jobs and the server has only processJobs capability', () => {
- const shouldSetupPlugin = shouldSetupPluginInServer({ processJobs: true }, { jobs: [] })
+ it('returns false if plugin has no jobs and the server has only processPluginJobs capability', () => {
+ const shouldSetupPlugin = shouldSetupPluginInServer({ processPluginJobs: true }, { jobs: [] })
expect(shouldSetupPlugin).toEqual(false)
})
})
diff --git a/plugin-server/tests/worker/ingestion/event-pipeline/emitToBufferStep.test.ts b/plugin-server/tests/worker/ingestion/event-pipeline/emitToBufferStep.test.ts
index a12164943aca4e..2d2af8bdaf860a 100644
--- a/plugin-server/tests/worker/ingestion/event-pipeline/emitToBufferStep.test.ts
+++ b/plugin-server/tests/worker/ingestion/event-pipeline/emitToBufferStep.test.ts
@@ -1,7 +1,7 @@
import { PluginEvent } from '@posthog/plugin-scaffold'
import { DateTime } from 'luxon'
-import { Person } from '../../../../src/types'
+import { JobName, Person } from '../../../../src/types'
import { UUIDT } from '../../../../src/utils/utils'
import {
emitToBufferStep,
@@ -43,17 +43,26 @@ beforeEach(() => {
hub: {
CONVERSION_BUFFER_ENABLED: true,
BUFFER_CONVERSION_SECONDS: 60,
- db: { fetchPerson: jest.fn().mockResolvedValue(existingPerson), addEventToBuffer: jest.fn() },
+ db: { fetchPerson: jest.fn().mockResolvedValue(existingPerson) },
eventsProcessor: {},
+ jobQueueManager: {
+ enqueue: jest.fn(),
+ },
},
}
})
describe('emitToBufferStep()', () => {
- it('calls `addEventToBuffer` if event should be buffered, stops processing', async () => {
+ it('enqueues graphile job if event should be buffered, stops processing', async () => {
+ const unixNow = 1657710000000
+ Date.now = jest.fn(() => unixNow)
+
const response = await emitToBufferStep(runner, pluginEvent, () => true)
- expect(runner.hub.db.addEventToBuffer).toHaveBeenCalledWith(pluginEvent, expect.any(DateTime))
+ expect(runner.hub.jobQueueManager.enqueue).toHaveBeenCalledWith(JobName.BUFFER_JOB, {
+ eventPayload: pluginEvent,
+ timestamp: unixNow + 60000, // runner.hub.BUFFER_CONVERSION_SECONDS * 1000
+ })
expect(runner.hub.db.fetchPerson).toHaveBeenCalledWith(2, 'my_id')
expect(response).toEqual(null)
})
@@ -63,7 +72,7 @@ describe('emitToBufferStep()', () => {
expect(response).toEqual(['pluginsProcessEventStep', pluginEvent, existingPerson])
expect(runner.hub.db.fetchPerson).toHaveBeenCalledWith(2, 'my_id')
- expect(runner.hub.db.addEventToBuffer).not.toHaveBeenCalled()
+ expect(runner.hub.jobQueueManager.enqueue).not.toHaveBeenCalled()
})
it('calls `processPersonsStep` for $snapshot events', async () => {
@@ -73,7 +82,7 @@ describe('emitToBufferStep()', () => {
expect(response).toEqual(['processPersonsStep', event, undefined])
expect(runner.hub.db.fetchPerson).not.toHaveBeenCalled()
- expect(runner.hub.db.addEventToBuffer).not.toHaveBeenCalled()
+ expect(runner.hub.jobQueueManager.enqueue).not.toHaveBeenCalled()
})
})
diff --git a/plugin-server/tests/worker/vm.lazy.test.ts b/plugin-server/tests/worker/vm.lazy.test.ts
index 2e21205b8c2f8d..48ac90b5cbe5d3 100644
--- a/plugin-server/tests/worker/vm.lazy.test.ts
+++ b/plugin-server/tests/worker/vm.lazy.test.ts
@@ -27,7 +27,12 @@ describe('LazyPluginVM', () => {
const mockServer: any = {
db,
- capabilities: { ingestion: true, pluginScheduledTasks: true, processJobs: true, processAsyncHandlers: true },
+ capabilities: {
+ ingestion: true,
+ pluginScheduledTasks: true,
+ processPluginJobs: true,
+ processAsyncHandlers: true,
+ },
}
const createVM = () => {
From 2b370c2d1a6d3e38e4f6efe7d1a002dabdba3b7b Mon Sep 17 00:00:00 2001
From: Neil Kakkar
Date: Wed, 20 Jul 2022 13:55:25 +0100
Subject: [PATCH 121/213] fix(data-management): Allow property type updates
(#10897)
---
ee/api/ee_property_definition.py | 6 ++++
ee/api/test/test_property_definition.py | 34 +++++++++++++++++++
.../definition/DefinitionEdit.tsx | 30 ++++++++++++++++
.../definition/definitionEditLogic.ts | 13 +++++--
...roperty-definitions-auto-discovery.test.ts | 5 +++
5 files changed, 85 insertions(+), 3 deletions(-)
diff --git a/ee/api/ee_property_definition.py b/ee/api/ee_property_definition.py
index 2d35c4a214ca77..a54ee35c654c07 100644
--- a/ee/api/ee_property_definition.py
+++ b/ee/api/ee_property_definition.py
@@ -26,4 +26,10 @@ class Meta:
def update(self, event_definition: EnterprisePropertyDefinition, validated_data):
validated_data["updated_by"] = self.context["request"].user
+ if "property_type" in validated_data:
+ if validated_data["property_type"] == "Numeric":
+ validated_data["is_numerical"] = True
+ else:
+ validated_data["is_numerical"] = False
+
return super().update(event_definition, validated_data)
diff --git a/ee/api/test/test_property_definition.py b/ee/api/test/test_property_definition.py
index ec92fe84b68ffb..fbe5c16c245c5f 100644
--- a/ee/api/test/test_property_definition.py
+++ b/ee/api/test/test_property_definition.py
@@ -142,6 +142,40 @@ def test_update_property_definition(self):
property.refresh_from_db()
self.assertEqual(set(property.tagged_items.values_list("tag__name", flat=True)), {"official", "internal"})
+ def test_update_property_definition_property_type(self):
+ super(LicenseManager, cast(LicenseManager, License.objects)).create(
+ plan="enterprise", valid_until=timezone.datetime(2038, 1, 19, 3, 14, 7)
+ )
+
+ property = PropertyDefinition.objects.create(team=self.team, name="property")
+
+ response = self.client.patch(
+ f"/api/projects/@current/property_definitions/{str(property.id)}/", {"property_type": "Numeric"},
+ )
+
+ response_data = response.json()
+ self.assertEqual(response_data["property_type"], "Numeric")
+ self.assertEqual(response_data["is_numerical"], True)
+ self.assertEqual(response_data["updated_by"]["first_name"], self.user.first_name)
+
+ def test_update_property_definition_non_numeric(self):
+ super(LicenseManager, cast(LicenseManager, License.objects)).create(
+ plan="enterprise", valid_until=timezone.datetime(2038, 1, 19, 3, 14, 7)
+ )
+
+ property = PropertyDefinition.objects.create(
+ team=self.team, name="property", property_type="Numeric", is_numerical=True
+ )
+
+ response = self.client.patch(
+ f"/api/projects/@current/property_definitions/{str(property.id)}/", {"property_type": "DateTime"},
+ )
+
+ response_data = response.json()
+ self.assertEqual(response_data["property_type"], "DateTime")
+ self.assertEqual(response_data["is_numerical"], False)
+ self.assertEqual(response_data["updated_by"]["first_name"], self.user.first_name)
+
def test_update_property_without_license(self):
property = EnterprisePropertyDefinition.objects.create(team=self.team, name="enterprise property")
response = self.client.patch(
diff --git a/frontend/src/scenes/data-management/definition/DefinitionEdit.tsx b/frontend/src/scenes/data-management/definition/DefinitionEdit.tsx
index 4ea3a25e9b0b62..2ce7a5dffced21 100644
--- a/frontend/src/scenes/data-management/definition/DefinitionEdit.tsx
+++ b/frontend/src/scenes/data-management/definition/DefinitionEdit.tsx
@@ -12,6 +12,7 @@ import { LemonTextArea } from 'lib/components/LemonTextArea/LemonTextArea'
import { ObjectTags } from 'lib/components/ObjectTags/ObjectTags'
import { isPostHogProp } from 'lib/components/PropertyKeyInfo'
import { VerifiedEventCheckbox } from 'lib/components/DefinitionPopup/DefinitionPopupContents'
+import { LemonSelect } from 'lib/components/LemonSelect'
export function DefinitionEdit(props: DefinitionEditLogicProps): JSX.Element {
const logic = definitionEditLogic(props)
@@ -102,6 +103,35 @@ export function DefinitionEdit(props: DefinitionEditLogicProps): JSX.Element {
)}
+ {hasTaxonomyFeatures && !isEvent && (
+
+
+
+ {({ value, onChange }) => (
+ onChange(val)}
+ value={value}
+ bordered
+ options={{
+ DateTime: {
+ label: 'DateTime',
+ },
+ String: {
+ label: 'String',
+ },
+ Numeric: {
+ label: 'Numeric',
+ },
+ Boolean: {
+ label: 'Boolean',
+ },
+ }}
+ />
+ )}
+
+
+
+ )}
)
diff --git a/frontend/src/scenes/data-management/definition/definitionEditLogic.ts b/frontend/src/scenes/data-management/definition/definitionEditLogic.ts
index dfef92e707ab5e..f84053a9635501 100644
--- a/frontend/src/scenes/data-management/definition/definitionEditLogic.ts
+++ b/frontend/src/scenes/data-management/definition/definitionEditLogic.ts
@@ -26,7 +26,14 @@ export const definitionEditLogic = kea([
key((props) => props.id || 'new'),
connect(({ id }: DefinitionEditLogicProps) => ({
values: [definitionLogic({ id }), ['isEvent', 'singular', 'mode', 'hasTaxonomyFeatures']],
- actions: [definitionLogic({ id }), ['setDefinition', 'setPageMode']],
+ actions: [
+ definitionLogic({ id }),
+ ['setDefinition', 'setPageMode'],
+ eventPropertyDefinitionsTableLogic,
+ ['setLocalEventPropertyDefinition'],
+ eventDefinitionsTableLogic,
+ ['setLocalEventDefinition'],
+ ],
})),
forms(({ actions, props }) => ({
definition: {
@@ -81,9 +88,9 @@ export const definitionEditLogic = kea([
eventDefinitionsModel.actions.loadEventDefinitions(true) // reload definitions so they are immediately available
// Update table values
if (values.isEvent) {
- eventDefinitionsTableLogic.actions.setLocalEventDefinition(definition)
+ actions.setLocalEventDefinition(definition)
} else {
- eventPropertyDefinitionsTableLogic.actions.setLocalEventPropertyDefinition(definition)
+ actions.setLocalEventPropertyDefinition(definition)
}
actions.setPageMode(DefinitionPageMode.View)
actions.setDefinition(definition)
diff --git a/plugin-server/tests/worker/ingestion/property-definitions-auto-discovery.test.ts b/plugin-server/tests/worker/ingestion/property-definitions-auto-discovery.test.ts
index 7ffbccbfa4491e..81995cbea39b6d 100644
--- a/plugin-server/tests/worker/ingestion/property-definitions-auto-discovery.test.ts
+++ b/plugin-server/tests/worker/ingestion/property-definitions-auto-discovery.test.ts
@@ -26,5 +26,10 @@ describe('property definitions auto discovery', () => {
it('can detect decimals in strings', () => {
expect(detectPropertyDefinitionTypes('1.23', 'anything')).toEqual(PropertyType.Numeric)
})
+
+ it('can detect version numbers as non numeric', () => {
+ expect(detectPropertyDefinitionTypes('1.2.3', 'anything')).toEqual(PropertyType.String)
+ expect(detectPropertyDefinitionTypes('9.7.0', '$app_version')).toEqual(PropertyType.String)
+ })
})
})
From 6c04bfad042a79ff914a813aebc84a03366e52db Mon Sep 17 00:00:00 2001
From: Neil Kakkar
Date: Wed, 20 Jul 2022 13:59:26 +0100
Subject: [PATCH 122/213] fix(experiments): Show experiment feature flags in
list (#10654)
---
.../views/test/test_clickhouse_experiments.py | 52 +++++++++++++++++++
.../src/scenes/feature-flags/FeatureFlag.tsx | 19 ++++++-
.../feature-flags/activityDescriptions.tsx | 1 +
.../scenes/feature-flags/featureFlagLogic.ts | 1 +
frontend/src/types.ts | 1 +
posthog/api/feature_flag.py | 10 +++-
posthog/api/test/test_feature_flag.py | 37 +++++++++++--
7 files changed, 114 insertions(+), 7 deletions(-)
diff --git a/ee/clickhouse/views/test/test_clickhouse_experiments.py b/ee/clickhouse/views/test/test_clickhouse_experiments.py
index d57f244430f5ae..800725c1ae7623 100644
--- a/ee/clickhouse/views/test/test_clickhouse_experiments.py
+++ b/ee/clickhouse/views/test/test_clickhouse_experiments.py
@@ -638,6 +638,58 @@ def test_creating_updating_experiment_with_group_aggregation(self):
self.assertEqual(created_ff.filters["groups"][0]["properties"][0]["key"], "$geoip_country_name")
self.assertEqual(created_ff.filters["aggregation_group_type_index"], None)
+ def test_used_in_experiment_is_populated_correctly_for_feature_flag_list(self) -> None:
+
+ ff_key = "a-b-test"
+ response = self.client.post(
+ f"/api/projects/{self.team.id}/experiments/",
+ {
+ "name": "Test Experiment",
+ "description": "",
+ "start_date": "2021-12-01T10:23",
+ "end_date": None,
+ "feature_flag_key": ff_key,
+ "parameters": {
+ "feature_flag_variants": [
+ {"key": "control", "name": "Control Group", "rollout_percentage": 33},
+ {"key": "test_1", "name": "Test Variant", "rollout_percentage": 33},
+ {"key": "test_2", "name": "Test Variant", "rollout_percentage": 34},
+ ]
+ },
+ "filters": {
+ "events": [{"order": 0, "id": "$pageview"}, {"order": 1, "id": "$pageleave"}],
+ "properties": [
+ {"key": "$geoip_country_name", "type": "person", "value": ["france"], "operator": "exact"}
+ ],
+ },
+ },
+ )
+
+ self.assertEqual(response.status_code, status.HTTP_201_CREATED)
+ self.assertEqual(response.json()["name"], "Test Experiment")
+ self.assertEqual(response.json()["feature_flag_key"], ff_key)
+
+ created_experiment = response.json()["id"]
+
+ # add another random feature flag
+ self.client.post(
+ f"/api/projects/{self.team.id}/feature_flags/",
+ data={"name": f"flag", "key": f"flag_0", "filters": {"groups": [{"rollout_percentage": 5,}]},},
+ format="json",
+ ).json()
+
+ with self.assertNumQueries(7):
+ response = self.client.get(f"/api/projects/{self.team.id}/feature_flags")
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+ result = response.json()
+
+ self.assertEqual(result["count"], 2)
+
+ self.assertCountEqual(
+ [(res["key"], res["experiment_set"]) for res in result["results"]],
+ [("flag_0", []), (ff_key, [created_experiment]),],
+ )
+
@flaky(max_runs=10, min_passes=1)
class ClickhouseTestFunnelExperimentResults(ClickhouseTestMixin, APILicensedTest):
diff --git a/frontend/src/scenes/feature-flags/FeatureFlag.tsx b/frontend/src/scenes/feature-flags/FeatureFlag.tsx
index d5a09a621d855f..3e2db9240b31c2 100644
--- a/frontend/src/scenes/feature-flags/FeatureFlag.tsx
+++ b/frontend/src/scenes/feature-flags/FeatureFlag.tsx
@@ -29,6 +29,8 @@ import { LemonCheckbox } from 'lib/components/LemonCheckbox'
import { FEATURE_FLAGS } from 'lib/constants'
import { featureFlagLogic as enabledFeatureFlagsToCheckLogic } from 'lib/logic/featureFlagLogic'
import { EventBufferNotice } from 'scenes/events/EventBufferNotice'
+import { AlertMessage } from 'lib/components/AlertMessage'
+import { urls } from 'scenes/urls'
export const scene: SceneExport = {
component: FeatureFlag,
@@ -87,7 +89,13 @@ export function FeatureFlag({ id }: { id?: string } = {}): JSX.Element {
return (
{featureFlag ? (
-
+
}
/>
+ {featureFlag.experiment_set && featureFlag.experiment_set?.length > 0 && (
+
+ This feature flag is linked to an experiment. It's recommended to only make changes to this
+ flag{' '}
+
+ using the experiment creation screen.
+
+
+ )}
General configuration
diff --git a/frontend/src/scenes/feature-flags/activityDescriptions.tsx b/frontend/src/scenes/feature-flags/activityDescriptions.tsx
index da006145ee21ed..9729c12a06ccea 100644
--- a/frontend/src/scenes/feature-flags/activityDescriptions.tsx
+++ b/frontend/src/scenes/feature-flags/activityDescriptions.tsx
@@ -167,6 +167,7 @@ const featureFlagActionsMapping: Record
null,
created_by: () => null,
is_simple_flag: () => null,
+ experiment_set: () => null,
}
export function flagActivityDescriber(logItem: ActivityLogItem): string | JSX.Element | null {
diff --git a/frontend/src/scenes/feature-flags/featureFlagLogic.ts b/frontend/src/scenes/feature-flags/featureFlagLogic.ts
index 0748a02013303a..1fe3c18d06057e 100644
--- a/frontend/src/scenes/feature-flags/featureFlagLogic.ts
+++ b/frontend/src/scenes/feature-flags/featureFlagLogic.ts
@@ -34,6 +34,7 @@ const NEW_FLAG: FeatureFlagType = {
is_simple_flag: false,
rollout_percentage: null,
ensure_experience_continuity: false,
+ experiment_set: null,
}
const NEW_VARIANT = {
key: '',
diff --git a/frontend/src/types.ts b/frontend/src/types.ts
index 0d15cfb4d75c49..f5743c2d5d15f3 100644
--- a/frontend/src/types.ts
+++ b/frontend/src/types.ts
@@ -1385,6 +1385,7 @@ export interface FeatureFlagType {
is_simple_flag: boolean
rollout_percentage: number | null
ensure_experience_continuity: boolean | null
+ experiment_set: string[] | null
}
export interface CombinedFeatureFlagAndValueType {
diff --git a/posthog/api/feature_flag.py b/posthog/api/feature_flag.py
index a21f1521bafb22..f634a92db169a5 100644
--- a/posthog/api/feature_flag.py
+++ b/posthog/api/feature_flag.py
@@ -27,6 +27,9 @@ class FeatureFlagSerializer(serializers.HyperlinkedModelSerializer):
filters = serializers.DictField(source="get_filters", required=False)
is_simple_flag = serializers.SerializerMethodField()
rollout_percentage = serializers.SerializerMethodField()
+
+ experiment_set: serializers.PrimaryKeyRelatedField = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
+
name = serializers.CharField(
required=False,
allow_blank=True,
@@ -47,6 +50,7 @@ class Meta:
"is_simple_flag",
"rollout_percentage",
"ensure_experience_continuity",
+ "experiment_set",
]
# Simple flags are ones that only have rollout_percentage
@@ -189,8 +193,9 @@ class FeatureFlagViewSet(StructuredViewSetMixin, ForbidDestroyModel, viewsets.Mo
def get_queryset(self) -> QuerySet:
queryset = super().get_queryset()
if self.action == "list":
- queryset = queryset.filter(deleted=False, experiment__isnull=True)
- return queryset.order_by("-created_at")
+ queryset = queryset.filter(deleted=False).prefetch_related("experiment_set")
+
+ return queryset.select_related("created_by").order_by("-created_at")
@action(methods=["GET"], detail=False)
def my_flags(self, request: request.Request, **kwargs):
@@ -199,6 +204,7 @@ def my_flags(self, request: request.Request, **kwargs):
feature_flags = (
FeatureFlag.objects.filter(team=self.team, active=True, deleted=False)
+ .prefetch_related("experiment_set")
.select_related("created_by")
.order_by("-created_at")
)
diff --git a/posthog/api/test/test_feature_flag.py b/posthog/api/test/test_feature_flag.py
index dee14659c0629e..c03ff2381c6c35 100644
--- a/posthog/api/test/test_feature_flag.py
+++ b/posthog/api/test/test_feature_flag.py
@@ -809,18 +809,47 @@ def test_updating_a_feature_flag_with_same_team_and_key_of_a_deleted_one(self):
self.assertEqual(instance.key, "alpha-feature")
def test_my_flags_is_not_nplus1(self) -> None:
- with self.assertNumQueries(6):
+ self.client.post(
+ f"/api/projects/{self.team.id}/feature_flags/",
+ data={"name": f"flag", "key": f"flag", "filters": {"groups": [{"rollout_percentage": 5,}]},},
+ format="json",
+ ).json()
+
+ with self.assertNumQueries(7):
response = self.client.get(f"/api/projects/{self.team.id}/feature_flags/my_flags")
self.assertEqual(response.status_code, status.HTTP_200_OK)
+ for i in range(1, 4):
+ self.client.post(
+ f"/api/projects/{self.team.id}/feature_flags/",
+ data={"name": f"flag", "key": f"flag_{i}", "filters": {"groups": [{"rollout_percentage": 5,}]},},
+ format="json",
+ ).json()
+
+ with self.assertNumQueries(7):
+ response = self.client.get(f"/api/projects/{self.team.id}/feature_flags/my_flags")
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+
+ def test_getting_flags_is_not_nplus1(self) -> None:
self.client.post(
f"/api/projects/{self.team.id}/feature_flags/",
- data={"name": f"flag", "key": f"flag", "filters": {"groups": [{"rollout_percentage": 5,}]},},
+ data={"name": f"flag", "key": f"flag_0", "filters": {"groups": [{"rollout_percentage": 5,}]},},
format="json",
).json()
- with self.assertNumQueries(6):
- response = self.client.get(f"/api/projects/{self.team.id}/feature_flags/my_flags")
+ with self.assertNumQueries(7):
+ response = self.client.get(f"/api/projects/{self.team.id}/feature_flags")
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+
+ for i in range(1, 5):
+ self.client.post(
+ f"/api/projects/{self.team.id}/feature_flags/",
+ data={"name": f"flag", "key": f"flag_{i}", "filters": {"groups": [{"rollout_percentage": 5,}]},},
+ format="json",
+ ).json()
+
+ with self.assertNumQueries(7):
+ response = self.client.get(f"/api/projects/{self.team.id}/feature_flags")
self.assertEqual(response.status_code, status.HTTP_200_OK)
@patch("posthog.api.feature_flag.report_user_action")
From a0c4747c3d0072b437bc2e5b3a15a0d03a0528e2 Mon Sep 17 00:00:00 2001
From: Neil Kakkar
Date: Wed, 20 Jul 2022 14:26:36 +0100
Subject: [PATCH 123/213] fix(person-querying): Use the right person property
(#10898)
---
.../api/test/__snapshots__/test_person.ambr | 26 +++++++++++++++++++
posthog/api/test/test_person.py | 22 ++++++++++++++++
posthog/queries/person_query.py | 4 ++-
3 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/posthog/api/test/__snapshots__/test_person.ambr b/posthog/api/test/__snapshots__/test_person.ambr
index 18d19491cb565b..e4dee1f3d9e0fb 100644
--- a/posthog/api/test/__snapshots__/test_person.ambr
+++ b/posthog/api/test/__snapshots__/test_person.ambr
@@ -1,3 +1,29 @@
+# name: TestPerson.test_filter_person_email
+ '
+ /* request:api_person_?$ (LegacyEnterprisePersonViewSet) */
+ SELECT id
+ FROM person
+ WHERE team_id = 2
+ GROUP BY id
+ HAVING max(is_deleted) = 0
+ AND has(['another@gmail.com'], replaceRegexpAll(JSONExtractRaw(properties, 'email'), '^"|"$', ''))
+ ORDER BY max(created_at) DESC, id
+ LIMIT 100
+ '
+---
+# name: TestPerson.test_filter_person_email_materialized
+ '
+ /* request:api_person_?$ (LegacyEnterprisePersonViewSet) */
+ SELECT id
+ FROM person
+ WHERE team_id = 2
+ GROUP BY id
+ HAVING max(is_deleted) = 0
+ AND has(['another@gmail.com'], "pmat_email")
+ ORDER BY max(created_at) DESC, id
+ LIMIT 100
+ '
+---
# name: TestPerson.test_person_property_values
'
/* request:api_person_values_?$ (LegacyEnterprisePersonViewSet) */
diff --git a/posthog/api/test/test_person.py b/posthog/api/test/test_person.py
index 139c78157440dd..01239a4e385818 100644
--- a/posthog/api/test/test_person.py
+++ b/posthog/api/test/test_person.py
@@ -111,6 +111,28 @@ def test_person_property_values(self):
self.assertEqual(response.json()[0]["name"], "qwerty")
self.assertEqual(response.json()[0]["count"], 1)
+ @test_with_materialized_columns(event_properties=["email"], person_properties=["email"])
+ @snapshot_clickhouse_queries
+ def test_filter_person_email(self):
+
+ _create_person(
+ team=self.team,
+ distinct_ids=["distinct_id", "another_one"],
+ properties={"email": "someone@gmail.com"},
+ is_identified=True,
+ immediate=True,
+ )
+ person2: Person = _create_person(
+ team=self.team, distinct_ids=["distinct_id_2"], properties={"email": "another@gmail.com"}, immediate=True
+ )
+ flush_persons_and_events()
+
+ # Filter
+ response = self.client.get("/api/person/?email=another@gmail.com")
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+ self.assertEqual(len(response.json()["results"]), 1)
+ self.assertEqual(response.json()["results"][0]["id"], str(person2.uuid))
+
def test_filter_person_list(self):
person1: Person = _create_person(
diff --git a/posthog/queries/person_query.py b/posthog/queries/person_query.py
index 3d4c0e25756bd2..143bbc7801cdad 100644
--- a/posthog/queries/person_query.py
+++ b/posthog/queries/person_query.py
@@ -239,5 +239,7 @@ def _get_email_clause(self) -> Tuple[str, Dict]:
return "", {}
if self._filter.email:
- return prop_filter_json_extract(Property(key="email", value=self._filter.email), 0, prepend="_email")
+ return prop_filter_json_extract(
+ Property(key="email", value=self._filter.email, type="person"), 0, prepend="_email"
+ )
return "", {}
From e7a9b7de7963745893205aa2f4a9b3dd0a7c835d Mon Sep 17 00:00:00 2001
From: Harry Waye
Date: Wed, 20 Jul 2022 14:33:32 +0100
Subject: [PATCH 124/213] fix(autocapture): ensure `$elements` passed to
`onEvent` (#10880)
* fix(autocapture): ensure `$elements` passed to `onEvent`
Before calling `onEvent` the plugin does, amoung other things, a delete
on `event.properties` of the `$elements` associated with `$autocapture`.
This means that for instance the S3 plugin doesn't include this data in
it's dump.
We could also include other data like `elements_chain` that we also
store in `ClickHouse` but I've gone for just including `elements` for
now as `elements_chain` is derived from `elements` anyhow.
* revert .env changes, I'll do that separately
* run prettier
* update to scaffold 1.3.0
* fix lint
* chore: update scaffold to 1.3.1
* update scaffold
---
plugin-server/package.json | 2 +-
plugin-server/src/types.ts | 17 +++----------
plugin-server/src/utils/event.ts | 1 +
plugin-server/tests/e2e.test.ts | 41 +++++++++++++++++++++++++++++---
plugin-server/yarn.lock | 8 +++----
5 files changed, 47 insertions(+), 22 deletions(-)
diff --git a/plugin-server/package.json b/plugin-server/package.json
index da09fae9894d5d..c9df29263c57fa 100644
--- a/plugin-server/package.json
+++ b/plugin-server/package.json
@@ -45,7 +45,7 @@
"@posthog/clickhouse": "^1.7.0",
"@posthog/piscina": "^3.2.0-posthog",
"@posthog/plugin-contrib": "^0.0.5",
- "@posthog/plugin-scaffold": "1.1.0",
+ "@posthog/plugin-scaffold": "1.3.2",
"@sentry/node": "^6.7.0",
"@sentry/tracing": "^6.7.0",
"@types/lru-cache": "^5.1.0",
diff --git a/plugin-server/src/types.ts b/plugin-server/src/types.ts
index c39b4997fb7155..c01f3bc878051a 100644
--- a/plugin-server/src/types.ts
+++ b/plugin-server/src/types.ts
@@ -1,5 +1,6 @@
import ClickHouse from '@posthog/clickhouse'
import {
+ Element,
Meta,
PluginAttachment,
PluginConfigSchema,
@@ -511,20 +512,8 @@ export interface Team {
ingested_event: boolean
}
-/** Usable Element model. */
-export interface Element {
- text?: string
- tag_name?: string
- href?: string
- attr_id?: string
- attr_class?: string[]
- nth_child?: number
- nth_of_type?: number
- attributes?: Record
- event_id?: number
- order?: number
- group_id?: number
-}
+/** Re-export Element from scaffolding, for backwards compat. */
+export { Element } from '@posthog/plugin-scaffold'
/** Usable Event model. */
export interface Event {
diff --git a/plugin-server/src/utils/event.ts b/plugin-server/src/utils/event.ts
index 063a3b501f0a34..d1881443f133e0 100644
--- a/plugin-server/src/utils/event.ts
+++ b/plugin-server/src/utils/event.ts
@@ -18,6 +18,7 @@ export function convertToProcessedPluginEvent(event: IngestionEvent): ProcessedP
$set: event.properties.$set,
$set_once: event.properties.$set_once,
uuid: event.eventUuid,
+ elements: event.elementsList,
}
}
diff --git a/plugin-server/tests/e2e.test.ts b/plugin-server/tests/e2e.test.ts
index ca7ad27566252d..451bf537b8272f 100644
--- a/plugin-server/tests/e2e.test.ts
+++ b/plugin-server/tests/e2e.test.ts
@@ -44,7 +44,7 @@ export function onEvent (event, { global }) {
max: new Date(),
min: new Date(Date.now()-${ONE_HOUR})
}
- testConsole.log('onEvent', event.event)
+ testConsole.log('onEvent', JSON.stringify(event))
}
export function onSnapshot (event) {
@@ -98,7 +98,11 @@ describe('E2E', () => {
const uuid = new UUIDT().toString()
- await posthog.capture('custom event', { name: 'haha', uuid })
+ const event = {
+ event: 'custom event',
+ properties: { name: 'haha', uuid },
+ }
+ await posthog.capture(event.event, event.properties)
await delayUntilEventIngested(() => hub.db.fetchEvents())
@@ -112,7 +116,38 @@ describe('E2E', () => {
expect(events[0].properties.upperUuid).toEqual(uuid.toUpperCase())
// onEvent ran
- expect(testConsole.read()).toEqual([['processEvent'], ['onEvent', 'custom event']])
+ const consoleOutput = testConsole.read()
+ expect(consoleOutput).toEqual([['processEvent'], ['onEvent', expect.any(String)]])
+
+ const onEventEvent = JSON.parse(consoleOutput[1][1])
+ expect(onEventEvent.event).toEqual('custom event')
+ expect(onEventEvent.properties).toEqual(expect.objectContaining(event.properties))
+ })
+
+ test('correct $autocapture properties included in onEvent calls', async () => {
+ // The plugin server does modifications to the `event.properties`
+ // and as a results we remove the initial `$elements` from the
+ // object. Thus we want to ensure that this information is passed
+ // through to any plugins with `onEvent` handlers
+ const properties = {
+ $elements: [{ tag_name: 'div', nth_child: 1, nth_of_type: 2, $el_text: '💻' }],
+ }
+ const event = {
+ event: '$autocapture',
+ properties: properties,
+ }
+ await posthog.capture(event.event, event.properties)
+
+ await delayUntilEventIngested(() => hub.db.fetchEvents(), 1)
+
+ // onEvent ran
+ const consoleOutput = testConsole.read()
+ expect(consoleOutput).toEqual([['processEvent'], ['onEvent', expect.any(String)]])
+
+ const onEventEvent = JSON.parse(consoleOutput[1][1])
+ expect(onEventEvent.elements).toEqual([
+ { attributes: {}, nth_child: 1, nth_of_type: 2, tag_name: 'div', text: '💻' },
+ ])
})
test('snapshot captured, processed, ingested', async () => {
diff --git a/plugin-server/yarn.lock b/plugin-server/yarn.lock
index 002f960860b2cd..050d47d7c01edc 100644
--- a/plugin-server/yarn.lock
+++ b/plugin-server/yarn.lock
@@ -2508,10 +2508,10 @@
resolved "https://registry.yarnpkg.com/@posthog/plugin-contrib/-/plugin-contrib-0.0.5.tgz#6c55f39c39dd9dd8af558888558a69bc3fe19aff"
integrity sha512-ic2JsfFUdLGF+fGYJPatWEB6gEFNoD89qz92FN1RE2QfLpr6YdyPNuMowzahya3hfC/jaLZ8QdPG/j5pSOgT7A==
-"@posthog/plugin-scaffold@1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.1.0.tgz#887ccbea34dcb6197dfa04104c8c6d4be72dfb06"
- integrity sha512-sXHEju7iDSoameO8OiIljmtcuko+KjBobKU5V8mDVNFqO1+nm5NcipoQEPKPRnQVn4M1//U1CKpp5dbErd2qXw==
+"@posthog/plugin-scaffold@1.3.2":
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.3.2.tgz#6c6cf964a5384d16cb9a3510216cd3421835afc9"
+ integrity sha512-+oq8EJHv7NPTzl0G+Qp//KLJ5y0LqzjYcqWwX2leJWUoaXXOYzwwWXJOiyzrKUbELh23NX5r9omk+3M9fyURWA==
dependencies:
"@maxmind/geoip2-node" "^3.0.0"
From fa46d7781d66d75387849f56a3d6bc6f493a24d7 Mon Sep 17 00:00:00 2001
From: PostHog bot <69588470+posthog-bot@users.noreply.github.com>
Date: Wed, 20 Jul 2022 15:39:46 +0200
Subject: [PATCH 125/213] chore(deps): Update plugin-scaffold to 1.3.2 (#10901)
---
package.json | 2 +-
yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package.json b/package.json
index b1b13a02d71d25..6c7736a8a6652c 100644
--- a/package.json
+++ b/package.json
@@ -55,7 +55,7 @@
"@lottiefiles/react-lottie-player": "^3.4.7",
"@monaco-editor/react": "^4.1.3",
"@posthog/chart.js": "^2.9.6",
- "@posthog/plugin-scaffold": "1.1.0",
+ "@posthog/plugin-scaffold": "1.3.2",
"@posthog/react-rrweb-player": "^1.1.3",
"@posthog/simmerjs": "^0.7.7",
"@react-hook/size": "^2.1.2",
diff --git a/yarn.lock b/yarn.lock
index 9e25d6d7c0e66a..b6fbb236f23c24 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2980,10 +2980,10 @@
chartjs-color "^2.1.0"
moment "^2.10.2"
-"@posthog/plugin-scaffold@1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.1.0.tgz#887ccbea34dcb6197dfa04104c8c6d4be72dfb06"
- integrity sha512-sXHEju7iDSoameO8OiIljmtcuko+KjBobKU5V8mDVNFqO1+nm5NcipoQEPKPRnQVn4M1//U1CKpp5dbErd2qXw==
+"@posthog/plugin-scaffold@1.3.2":
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/@posthog/plugin-scaffold/-/plugin-scaffold-1.3.2.tgz#6c6cf964a5384d16cb9a3510216cd3421835afc9"
+ integrity sha512-+oq8EJHv7NPTzl0G+Qp//KLJ5y0LqzjYcqWwX2leJWUoaXXOYzwwWXJOiyzrKUbELh23NX5r9omk+3M9fyURWA==
dependencies:
"@maxmind/geoip2-node" "^3.0.0"
From 2844833382dfbe3f9e7fa643db1762408ea639b8 Mon Sep 17 00:00:00 2001
From: Neil Kakkar
Date: Wed, 20 Jul 2022 14:43:33 +0100
Subject: [PATCH 126/213] fix(universal-search): Bring back persons search
(#10900)
---
frontend/src/layout/navigation/TopBar/TopBar.tsx | 1 +
1 file changed, 1 insertion(+)
diff --git a/frontend/src/layout/navigation/TopBar/TopBar.tsx b/frontend/src/layout/navigation/TopBar/TopBar.tsx
index df9ac4b8b93886..35a34806983e4c 100644
--- a/frontend/src/layout/navigation/TopBar/TopBar.tsx
+++ b/frontend/src/layout/navigation/TopBar/TopBar.tsx
@@ -48,6 +48,7 @@ export function TopBar(): JSX.Element {
groupType={TaxonomicFilterGroupType.Events}
groupTypes={[
TaxonomicFilterGroupType.Events,
+ TaxonomicFilterGroupType.Persons,
TaxonomicFilterGroupType.Actions,
TaxonomicFilterGroupType.Cohorts,
TaxonomicFilterGroupType.Insights,
From f8a661c5fe25af921f3717ccbfc015401a0c28d4 Mon Sep 17 00:00:00 2001
From: Paul D'Ambra
Date: Wed, 20 Jul 2022 15:48:31 +0100
Subject: [PATCH 127/213] fix: have only way to create new dashboards (#10841)
* chore: remove the multi dashboard insight flag
* rename modal now flag is removed
* hook the add to dashboard modal and the new dashboard modal together, allowing user to choose whether to load the dashboard on success
* set show on success to false from insight add to dashboard modal
* wire up description
* use checkbox in form, not switch
* use buttons not checkbox
---
.../AddToDashboard.scss | 0
.../AddToDashboard.tsx} | 6 +-
.../AddToDashboardModal.tsx} | 73 +------------------
.../addToDashboardModalLogic.ts} | 26 +++----
.../scenes/dashboard/NewDashboardModal.tsx | 17 ++++-
.../src/scenes/dashboard/newDashboardLogic.ts | 12 ++-
frontend/src/scenes/insights/Insight.tsx | 4 +-
7 files changed, 44 insertions(+), 94 deletions(-)
rename frontend/src/lib/components/{SaveToDashboard => AddToDashboard}/AddToDashboard.scss (100%)
rename frontend/src/lib/components/{SaveToDashboard/SaveToDashboard.tsx => AddToDashboard/AddToDashboard.tsx} (83%)
rename frontend/src/lib/components/{SaveToDashboard/SaveToDashboardModal.tsx => AddToDashboard/AddToDashboardModal.tsx} (69%)
rename frontend/src/lib/components/{SaveToDashboard/saveToDashboardModalLogic.ts => AddToDashboard/addToDashboardModalLogic.ts} (86%)
diff --git a/frontend/src/lib/components/SaveToDashboard/AddToDashboard.scss b/frontend/src/lib/components/AddToDashboard/AddToDashboard.scss
similarity index 100%
rename from frontend/src/lib/components/SaveToDashboard/AddToDashboard.scss
rename to frontend/src/lib/components/AddToDashboard/AddToDashboard.scss
diff --git a/frontend/src/lib/components/SaveToDashboard/SaveToDashboard.tsx b/frontend/src/lib/components/AddToDashboard/AddToDashboard.tsx
similarity index 83%
rename from frontend/src/lib/components/SaveToDashboard/SaveToDashboard.tsx
rename to frontend/src/lib/components/AddToDashboard/AddToDashboard.tsx
index d2999fda775e17..4a4cef8eb9170d 100644
--- a/frontend/src/lib/components/SaveToDashboard/SaveToDashboard.tsx
+++ b/frontend/src/lib/components/AddToDashboard/AddToDashboard.tsx
@@ -1,23 +1,25 @@
import React, { useState } from 'react'
-import { AddToDashboardModal } from './SaveToDashboardModal'
+import { AddToDashboardModal } from './AddToDashboardModal'
import { InsightModel } from '~/types'
import { dashboardsModel } from '~/models/dashboardsModel'
import { useValues } from 'kea'
import { LemonButton } from '../LemonButton'
import { IconGauge, IconWithCount } from 'lib/components/icons'
+import { NewDashboardModal } from 'scenes/dashboard/NewDashboardModal'
interface SaveToDashboardProps {
insight: Partial
canEditInsight: boolean
}
-export function SaveToDashboard({ insight, canEditInsight }: SaveToDashboardProps): JSX.Element {
+export function AddToDashboard({ insight, canEditInsight }: SaveToDashboardProps): JSX.Element {
const [openModal, setOpenModal] = useState(false)
const { rawDashboards } = useValues(dashboardsModel)
const dashboards = insight.dashboards?.map((dashboard) => rawDashboards[dashboard]).filter((d) => !!d) || []
return (
+
setOpenModal(false)}
diff --git a/frontend/src/lib/components/SaveToDashboard/SaveToDashboardModal.tsx b/frontend/src/lib/components/AddToDashboard/AddToDashboardModal.tsx
similarity index 69%
rename from frontend/src/lib/components/SaveToDashboard/SaveToDashboardModal.tsx
rename to frontend/src/lib/components/AddToDashboard/AddToDashboardModal.tsx
index 325e6e6e6f7a01..9424c4ffa22b77 100644
--- a/frontend/src/lib/components/SaveToDashboard/SaveToDashboardModal.tsx
+++ b/frontend/src/lib/components/AddToDashboard/AddToDashboardModal.tsx
@@ -1,13 +1,8 @@
-import React, { FormEvent } from 'react'
+import React from 'react'
import { Tooltip } from 'lib/components/Tooltip'
import { useActions, useValues } from 'kea'
-import { Modal, Select } from 'antd'
-import { eventUsageLogic } from 'lib/utils/eventUsageLogic'
-import { saveToDashboardModalLogic } from 'lib/components/SaveToDashboard/saveToDashboardModalLogic'
-import { dashboardsModel } from '~/models/dashboardsModel'
+import { addToDashboardModalLogic } from 'lib/components/AddToDashboard/addToDashboardModalLogic'
import { insightLogic } from 'scenes/insights/insightLogic'
-import { lemonToast } from '../lemonToast'
-import { router } from 'kea-router'
import { urls } from 'scenes/urls'
import './AddToDashboard.scss'
import { IconMagnifier, IconCottage } from 'lib/components/icons'
@@ -46,7 +41,7 @@ const DashboardRelationRow = ({
insight,
canEditInsight,
}: DashboardRelationRowProps): JSX.Element => {
- const logic = saveToDashboardModalLogic({
+ const logic = addToDashboardModalLogic({
insight: insight,
fromDashboard: insight.dashboards?.[0] || undefined,
})
@@ -96,7 +91,7 @@ export function AddToDashboardModal({
insight,
canEditInsight,
}: SaveToDashboardModalProps): JSX.Element {
- const logic = saveToDashboardModalLogic({
+ const logic = addToDashboardModalLogic({
insight: insight,
fromDashboard: insight.dashboards?.[0] || undefined,
})
@@ -176,63 +171,3 @@ export function AddToDashboardModal({
)
}
-
-export function SaveToDashboardModal({ visible, closeModal, insight }: SaveToDashboardModalProps): JSX.Element {
- const logic = saveToDashboardModalLogic({
- insight: insight,
- fromDashboard: insight.dashboards?.[0] || undefined,
- })
- const { nameSortedDashboards } = useValues(dashboardsModel)
- const { dashboardId } = useValues(logic)
- const { addNewDashboard, setDashboardId } = useActions(logic)
- const { reportSavedInsightToDashboard } = useActions(eventUsageLogic)
- const { insightLoading } = useValues(insightLogic)
- const { updateInsight } = useActions(insightLogic)
-
- async function save(event: MouseEvent | FormEvent): Promise {
- event.preventDefault()
- updateInsight({ ...insight, dashboards: [dashboardId] }, () => {
- reportSavedInsightToDashboard()
- lemonToast.success('Insight added to dashboard', {
- button: {
- label: 'View dashboard',
- action: () => router.actions.push(urls.dashboard(dashboardId)),
- },
- })
- closeModal()
- })
- }
-
- return (
- void save(e)}
- onCancel={closeModal}
- afterClose={closeModal}
- confirmLoading={insightLoading}
- visible={visible}
- title="Add to dashboard"
- okText="Add insight to dashboard"
- >
-
-
- )
-}
diff --git a/frontend/src/lib/components/SaveToDashboard/saveToDashboardModalLogic.ts b/frontend/src/lib/components/AddToDashboard/addToDashboardModalLogic.ts
similarity index 86%
rename from frontend/src/lib/components/SaveToDashboard/saveToDashboardModalLogic.ts
rename to frontend/src/lib/components/AddToDashboard/addToDashboardModalLogic.ts
index e65d02ecc4e5cc..6a4b59702cec76 100644
--- a/frontend/src/lib/components/SaveToDashboard/saveToDashboardModalLogic.ts
+++ b/frontend/src/lib/components/AddToDashboard/addToDashboardModalLogic.ts
@@ -1,8 +1,6 @@
import { kea } from 'kea'
import { dashboardsModel } from '~/models/dashboardsModel'
-import { prompt } from 'lib/logic/prompt'
import { eventUsageLogic } from 'lib/utils/eventUsageLogic'
-import type { saveToDashboardModalLogicType } from './saveToDashboardModalLogicType'
import { newDashboardLogic } from 'scenes/dashboard/newDashboardLogic'
import { DashboardType, InsightModel, InsightType } from '~/types'
import FuseClass from 'fuse.js'
@@ -11,7 +9,9 @@ import { router } from 'kea-router'
import { urls } from 'scenes/urls'
import { insightLogic } from 'scenes/insights/insightLogic'
-export interface SaveToDashboardModalLogicProps {
+import type { addToDashboardModalLogicType } from './addToDashboardModalLogicType'
+
+export interface AddToDashboardModalLogicProps {
insight: Partial
fromDashboard?: number
}
@@ -20,22 +20,24 @@ export interface SaveToDashboardModalLogicProps {
// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface Fuse extends FuseClass {}
-export const saveToDashboardModalLogic = kea({
- path: ['lib', 'components', 'SaveToDashboard', 'saveToDashboardModalLogic'],
- props: {} as SaveToDashboardModalLogicProps,
+export const addToDashboardModalLogic = kea({
+ path: ['lib', 'components', 'AddToDashboard', 'saveToDashboardModalLogic'],
+ props: {} as AddToDashboardModalLogicProps,
key: ({ insight }) => {
if (!insight.short_id) {
throw Error('must provide an insight with a short id')
}
return insight.short_id
},
- connect: (props: SaveToDashboardModalLogicProps) => ({
- logic: [newDashboardLogic, dashboardsModel, prompt({ key: `saveToDashboardModalLogic-new-dashboard` })],
+ connect: (props: AddToDashboardModalLogicProps) => ({
+ logic: [dashboardsModel],
actions: [
insightLogic({ dashboardItemId: props.insight.short_id }),
['updateInsight', 'updateInsightSuccess', 'updateInsightFailure'],
eventUsageLogic,
['reportSavedInsightToDashboard', 'reportRemovedInsightFromDashboard', 'reportCreatedDashboardFromModal'],
+ newDashboardLogic,
+ ['showNewDashboardModal'],
],
}),
actions: {
@@ -112,13 +114,7 @@ export const saveToDashboardModalLogic = kea({
},
addNewDashboard: async () => {
- prompt({ key: `saveToDashboardModalLogic-new-dashboard` }).actions.prompt({
- title: 'New dashboard',
- placeholder: 'Please enter a name',
- value: '',
- error: 'You must enter name',
- success: (name: string) => newDashboardLogic.actions.addDashboard({ name, show: false }),
- })
+ actions.showNewDashboardModal()
},
[dashboardsModel.actionTypes.addDashboardSuccess]: async ({ dashboard }) => {
diff --git a/frontend/src/scenes/dashboard/NewDashboardModal.tsx b/frontend/src/scenes/dashboard/NewDashboardModal.tsx
index 8750d1b48f623e..64f0e97175138c 100644
--- a/frontend/src/scenes/dashboard/NewDashboardModal.tsx
+++ b/frontend/src/scenes/dashboard/NewDashboardModal.tsx
@@ -13,7 +13,7 @@ import { LemonTextArea } from 'lib/components/LemonTextArea/LemonTextArea'
import { DASHBOARD_RESTRICTION_OPTIONS } from './DashboardCollaborators'
export function NewDashboardModal(): JSX.Element {
- const { hideNewDashboardModal } = useActions(newDashboardLogic)
+ const { hideNewDashboardModal, createAndGoToDashboard } = useActions(newDashboardLogic)
const { isNewDashboardSubmitting, newDashboardModalVisible } = useValues(newDashboardLogic)
return (
@@ -23,17 +23,26 @@ export function NewDashboardModal(): JSX.Element {
onCancel={hideNewDashboardModal}
visible={newDashboardModalVisible}
footer={
- <>
+
Cancel
+
+ Create and go to dashboard
+
Create
- >
+
}
>
diff --git a/frontend/src/scenes/dashboard/newDashboardLogic.ts b/frontend/src/scenes/dashboard/newDashboardLogic.ts
index 24936da50d9589..8ae90ca87f777c 100644
--- a/frontend/src/scenes/dashboard/newDashboardLogic.ts
+++ b/frontend/src/scenes/dashboard/newDashboardLogic.ts
@@ -11,6 +11,7 @@ import { forms } from 'kea-forms'
export interface NewDashboardForm {
name: string
+ description: ''
show: boolean
useTemplate: string
restrictionLevel: DashboardRestrictionLevel
@@ -18,7 +19,8 @@ export interface NewDashboardForm {
const defaultFormValues: NewDashboardForm = {
name: '',
- show: true,
+ description: '',
+ show: false,
useTemplate: '',
restrictionLevel: DashboardRestrictionLevel.EveryoneInProjectCanEdit,
}
@@ -30,6 +32,7 @@ export const newDashboardLogic = kea([
showNewDashboardModal: true,
hideNewDashboardModal: true,
addDashboard: (form: Partial) => ({ form }),
+ createAndGoToDashboard: true,
}),
reducers({
newDashboardModalVisible: [
@@ -47,11 +50,12 @@ export const newDashboardLogic = kea([
name: !name ? 'Please give your dashboard a name.' : null,
restrictionLevel: !restrictionLevel ? 'Restriction level needs to be specified.' : null,
}),
- submit: async ({ name, useTemplate, restrictionLevel, show }, breakpoint) => {
+ submit: async ({ name, description, useTemplate, restrictionLevel, show }, breakpoint) => {
const result: DashboardType = await api.create(
`api/projects/${teamLogic.values.currentTeamId}/dashboards/`,
{
name: name,
+ description: description,
use_template: useTemplate,
restriction_level: restrictionLevel,
} as Partial
@@ -75,5 +79,9 @@ export const newDashboardLogic = kea([
showNewDashboardModal: () => {
actions.resetNewDashboard()
},
+ createAndGoToDashboard: () => {
+ actions.setNewDashboardValue('show', true)
+ actions.submitNewDashboard()
+ },
})),
])
diff --git a/frontend/src/scenes/insights/Insight.tsx b/frontend/src/scenes/insights/Insight.tsx
index a1b57859cd0e18..416513ac193a46 100644
--- a/frontend/src/scenes/insights/Insight.tsx
+++ b/frontend/src/scenes/insights/Insight.tsx
@@ -9,7 +9,7 @@ import { NPSPrompt } from 'lib/experimental/NPSPrompt'
import { SaveCohortModal } from 'scenes/trends/SaveCohortModal'
import { personsModalLogic } from 'scenes/trends/personsModalLogic'
import { InsightsNav } from './InsightsNav'
-import { SaveToDashboard } from 'lib/components/SaveToDashboard/SaveToDashboard'
+import { AddToDashboard } from 'lib/components/AddToDashboard/AddToDashboard'
import { InsightContainer } from 'scenes/insights/InsightContainer'
import { EditableField } from 'lib/components/EditableField/EditableField'
import { ObjectTags } from 'lib/components/ObjectTags/ObjectTags'
@@ -222,7 +222,7 @@ export function Insight({ insightId }: { insightId: InsightShortId | 'new' }): J
)}
{insightMode !== ItemMode.Edit && insight.short_id && (
-
+
)}
{insightMode !== ItemMode.Edit ? (
canEditInsight && (
From 2a6417a586d2eabd2bb54a4df3f679f201d65f1b Mon Sep 17 00:00:00 2001
From: James Greenhill
Date: Wed, 20 Jul 2022 08:43:21 -0700
Subject: [PATCH 128/213] chore: Reduce surface area for attack on default
hobby deploys (#10891)
* chore: Reduce surface area for attack on default hobby deploys
* typo fix
---
docker-compose.hobby.yml | 17 -----------------
1 file changed, 17 deletions(-)
diff --git a/docker-compose.hobby.yml b/docker-compose.hobby.yml
index 021898c6cd3076..a95035eab57134 100644
--- a/docker-compose.hobby.yml
+++ b/docker-compose.hobby.yml
@@ -14,13 +14,9 @@ services:
POSTGRES_USER: posthog
POSTGRES_DB: posthog
POSTGRES_PASSWORD: posthog
- ports:
- - '5432:5432'
redis:
image: redis:6.2.7-alpine
restart: on-failure
- ports:
- - '6379:6379'
command: redis-server --maxmemory-policy allkeys-lru --maxmemory 200mb
clickhouse:
#
@@ -32,11 +28,6 @@ services:
depends_on:
- kafka
- zookeeper
- ports:
- - '8123:8123'
- - '9000:9000'
- - '9440:9440'
- - '9009:9009'
volumes:
- ./posthog/posthog/idl:/idl
- ./posthog/docker/clickhouse/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
@@ -54,8 +45,6 @@ services:
restart: on-failure
depends_on:
- zookeeper
- ports:
- - '9092:9092'
environment:
KAFKA_BROKER_ID: 1001
KAFKA_CFG_RESERVED_BROKER_MAX_ID: 1001
@@ -95,9 +84,6 @@ services:
<<: *worker
command: /compose/start
restart: on-failure
- ports:
- - '8000:8000'
- - '8234:8234'
volumes:
- ./compose:/compose
caddy:
@@ -129,9 +115,6 @@ services:
object_storage:
image: minio/minio
restart: on-failure
- ports:
- - '19000:19000'
- - '19001:19001'
volumes:
- object_storage:/data
environment:
From 14deb2d7a590328ad14dbcb146387c03688498d7 Mon Sep 17 00:00:00 2001
From: Paul D'Ambra
Date: Wed, 20 Jul 2022 16:43:51 +0100
Subject: [PATCH 129/213] feat: show link to dashboard in success toast when
creating (#10902)
* feat: show link to dashboard in success toast when creating
* a button for my horse
---
frontend/src/models/dashboardsModel.tsx | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/frontend/src/models/dashboardsModel.tsx b/frontend/src/models/dashboardsModel.tsx
index d88394458e2484..9777dc4489b6ae 100644
--- a/frontend/src/models/dashboardsModel.tsx
+++ b/frontend/src/models/dashboardsModel.tsx
@@ -201,11 +201,12 @@ export const dashboardsModel = kea({
listeners: ({ actions, values }) => ({
addDashboardSuccess: ({ dashboard }) => {
- lemonToast.success(
- <>
- Dashboard {dashboard.name} created
- >
- )
+ lemonToast.success(<>Dashboard created>, {
+ button: {
+ label: 'View',
+ action: () => router.actions.push(urls.dashboard(dashboard.id)),
+ },
+ })
},
restoreDashboardSuccess: ({ dashboard }) => {
From 1cb2e3224acf25994a3eea7f11a169a46eaabf8f Mon Sep 17 00:00:00 2001
From: Paul D'Ambra
Date: Wed, 20 Jul 2022 16:56:13 +0100
Subject: [PATCH 130/213] feat: when refreshing tiles ignore any that were
refreshed in the last 3 minutes (#10895)
---
posthog/tasks/test/test_update_cache.py | 306 ++++++++++++++----------
posthog/tasks/update_cache.py | 11 +-
2 files changed, 188 insertions(+), 129 deletions(-)
diff --git a/posthog/tasks/test/test_update_cache.py b/posthog/tasks/test/test_update_cache.py
index 8565d5d8624ee9..631dcfdddf4c37 100644
--- a/posthog/tasks/test/test_update_cache.py
+++ b/posthog/tasks/test/test_update_cache.py
@@ -126,12 +126,8 @@ def test_refresh_dashboard_cache(self, patch_update_cache_item: MagicMock, patch
item_key = generate_cache_key(filter.toJSON() + "_" + str(self.team.pk))
funnel_key = generate_cache_key(filter.toJSON() + "_" + str(self.team.pk))
- update_cached_items()
- # pass the caught calls straight to the function
- # we do this to skip Redis
- for call_item in patch_update_cache_item.call_args_list:
- update_cache_item(*call_item[0])
+ self._run_cache_update(patch_update_cache_item)
self.assertIsNotNone(Insight.objects.get(pk=cached_insight_because_no_dashboard_filters.pk).last_refresh)
self.assertIsNotNone(
@@ -371,10 +367,7 @@ def test_stickiness_regression(self, patch_update_cache_item: MagicMock, patch_a
item_stickiness_key = generate_cache_key(filter_stickiness.toJSON() + "_" + str(self.team.pk))
item_key = generate_cache_key(filter.toJSON() + "_" + str(self.team.pk))
- update_cached_items()
-
- for call_item in patch_update_cache_item.call_args_list:
- update_cache_item(*call_item[0])
+ self._run_cache_update(patch_update_cache_item)
self.assertEqual(
get_safe_cache(item_stickiness_key)["result"][0]["labels"],
@@ -391,54 +384,58 @@ def test_errors_refreshing(self, patch_calculate_by_filter: MagicMock) -> None:
When there are no filters on the dashboard the tile and insight cache key match
the cache only updates cache counts on the Insight not the dashboard tile
"""
- dashboard_to_cache = create_shared_dashboard(team=self.team, is_shared=True, last_accessed_at=now())
- item_to_cache = Insight.objects.create(
- filters=Filter(
- data={"events": [{"id": "$pageview"}], "properties": [{"key": "$browser", "value": "Mac OS X"}],}
- ).to_dict(),
- team=self.team,
- )
- DashboardTile.objects.create(insight=item_to_cache, dashboard=dashboard_to_cache)
-
- patch_calculate_by_filter.side_effect = Exception()
-
- def _update_cached_items() -> None:
- # This function will throw an exception every time which is what we want in production
- try:
- update_cached_items()
- except Exception:
- pass
-
- _update_cached_items()
- self.assertEqual(Insight.objects.get().refresh_attempt, 1)
- self.assertEqual(DashboardTile.objects.get().refresh_attempt, None)
- _update_cached_items()
- self.assertEqual(Insight.objects.get().refresh_attempt, 2)
- self.assertEqual(DashboardTile.objects.get().refresh_attempt, None)
-
- # Magically succeeds, reset counter
- patch_calculate_by_filter.side_effect = None
- patch_calculate_by_filter.return_value = {"some": "exciting results"}
- _update_cached_items()
- self.assertEqual(Insight.objects.get().refresh_attempt, 0)
- self.assertEqual(DashboardTile.objects.get().refresh_attempt, 0)
-
- # We should retry a max of 3 times
- patch_calculate_by_filter.reset_mock()
- patch_calculate_by_filter.side_effect = Exception()
- _update_cached_items()
- _update_cached_items()
- _update_cached_items()
- _update_cached_items()
- self.assertEqual(Insight.objects.get().refresh_attempt, 3)
- self.assertEqual(DashboardTile.objects.get().refresh_attempt, 0)
- self.assertEqual(patch_calculate_by_filter.call_count, 3)
-
- # If a user later comes back and manually refreshes we should reset refresh_attempt
- patch_calculate_by_filter.side_effect = None
- self.client.get(f"/api/projects/{self.team.pk}/insights/{item_to_cache.pk}/?refresh=true")
- self.assertEqual(Insight.objects.get().refresh_attempt, 0)
- self.assertEqual(DashboardTile.objects.get().refresh_attempt, 0)
+ with freeze_time("2021-08-25T22:09:14.252Z") as frozen_datetime:
+ dashboard_to_cache = create_shared_dashboard(team=self.team, is_shared=True, last_accessed_at=now())
+ item_to_cache = Insight.objects.create(
+ filters=Filter(
+ data={"events": [{"id": "$pageview"}], "properties": [{"key": "$browser", "value": "Mac OS X"}],}
+ ).to_dict(),
+ team=self.team,
+ )
+ DashboardTile.objects.create(insight=item_to_cache, dashboard=dashboard_to_cache)
+
+ patch_calculate_by_filter.side_effect = Exception()
+
+ def _update_cached_items() -> None:
+ # This function will throw an exception every time which is what we want in production
+ try:
+ update_cached_items()
+ except Exception:
+ pass
+
+ _update_cached_items()
+ self.assertEqual(Insight.objects.get().refresh_attempt, 1)
+ self.assertEqual(DashboardTile.objects.get().refresh_attempt, None)
+ _update_cached_items()
+ self.assertEqual(Insight.objects.get().refresh_attempt, 2)
+ self.assertEqual(DashboardTile.objects.get().refresh_attempt, None)
+
+ # Magically succeeds, reset counter
+ patch_calculate_by_filter.side_effect = None
+ patch_calculate_by_filter.return_value = {"some": "exciting results"}
+ _update_cached_items()
+ self.assertEqual(Insight.objects.get().refresh_attempt, 0)
+ self.assertEqual(DashboardTile.objects.get().refresh_attempt, 0)
+
+ # tick forwards since we ignore recently refreshed tiles
+ frozen_datetime.tick(timedelta(minutes=4))
+
+ # We should retry a max of 3 times
+ patch_calculate_by_filter.reset_mock()
+ patch_calculate_by_filter.side_effect = Exception()
+ _update_cached_items()
+ _update_cached_items()
+ _update_cached_items()
+ _update_cached_items()
+ self.assertEqual(Insight.objects.get().refresh_attempt, 3)
+ self.assertEqual(DashboardTile.objects.get().refresh_attempt, 0)
+ self.assertEqual(patch_calculate_by_filter.call_count, 3)
+
+ # If a user later comes back and manually refreshes we should reset refresh_attempt
+ patch_calculate_by_filter.side_effect = None
+ self.client.get(f"/api/projects/{self.team.pk}/insights/{item_to_cache.pk}/?refresh=true")
+ self.assertEqual(Insight.objects.get().refresh_attempt, 0)
+ self.assertEqual(DashboardTile.objects.get().refresh_attempt, 0)
@patch("posthog.tasks.update_cache._calculate_by_filter")
def test_errors_refreshing_dashboard_tile(self, patch_calculate_by_filter: MagicMock) -> None:
@@ -446,58 +443,61 @@ def test_errors_refreshing_dashboard_tile(self, patch_calculate_by_filter: Magic
When a filters_hash matches the dashboard tile and not the insight the cache update doesn't touch the Insight
but does touch the tile
"""
- dashboard_to_cache = create_shared_dashboard(
- team=self.team, is_shared=True, last_accessed_at=now(), filters={"date_from": "-14d"}
- )
- item_to_cache = Insight.objects.create(
- filters=Filter(
- data={"events": [{"id": "$pageview"}], "properties": [{"key": "$browser", "value": "Mac OS X"}],}
- ).to_dict(),
- team=self.team,
- )
- DashboardTile.objects.create(insight=item_to_cache, dashboard=dashboard_to_cache)
-
- patch_calculate_by_filter.side_effect = Exception()
-
- def _update_cached_items() -> None:
- # This function will throw an exception every time which is what we want in production
- try:
- update_cached_items()
- except Exception:
- pass
-
- _update_cached_items()
- self.assertEqual(Insight.objects.get().refresh_attempt, None)
- self.assertEqual(DashboardTile.objects.get().refresh_attempt, 1)
- _update_cached_items()
- self.assertEqual(Insight.objects.get().refresh_attempt, None)
- self.assertEqual(DashboardTile.objects.get().refresh_attempt, 2)
-
- # Magically succeeds, reset counter
- patch_calculate_by_filter.side_effect = None
- patch_calculate_by_filter.return_value = {"some": "exciting results"}
- _update_cached_items()
- self.assertEqual(Insight.objects.get().refresh_attempt, None)
- self.assertEqual(DashboardTile.objects.get().refresh_attempt, 0)
-
- # We should retry a max of 3 times
- patch_calculate_by_filter.reset_mock()
- patch_calculate_by_filter.side_effect = Exception()
- _update_cached_items()
- _update_cached_items()
- _update_cached_items()
- _update_cached_items()
- self.assertEqual(Insight.objects.get().refresh_attempt, None)
- self.assertEqual(DashboardTile.objects.get().refresh_attempt, 3)
- self.assertEqual(patch_calculate_by_filter.call_count, 3)
-
- # If a user later comes back and manually refreshes we should reset refresh_attempt
- patch_calculate_by_filter.side_effect = None
- self.client.get(
- f"/api/projects/{self.team.pk}/insights/{item_to_cache.pk}/?refresh=true&from_dashboard={dashboard_to_cache.id}"
- )
- self.assertEqual(Insight.objects.get().refresh_attempt, None)
- self.assertEqual(DashboardTile.objects.get().refresh_attempt, 0)
+ with freeze_time("2021-08-25T22:09:14.252Z") as frozen_datetime:
+ dashboard_to_cache = create_shared_dashboard(
+ team=self.team, is_shared=True, last_accessed_at=now(), filters={"date_from": "-14d"}
+ )
+ item_to_cache = Insight.objects.create(
+ filters=Filter(
+ data={"events": [{"id": "$pageview"}], "properties": [{"key": "$browser", "value": "Mac OS X"}],}
+ ).to_dict(),
+ team=self.team,
+ )
+ DashboardTile.objects.create(insight=item_to_cache, dashboard=dashboard_to_cache)
+
+ patch_calculate_by_filter.side_effect = Exception()
+
+ def _update_cached_items() -> None:
+ # This function will throw an exception every time which is what we want in production
+ try:
+ update_cached_items()
+ except Exception:
+ pass
+
+ _update_cached_items()
+ self.assertEqual(Insight.objects.get().refresh_attempt, None)
+ self.assertEqual(DashboardTile.objects.get().refresh_attempt, 1)
+ _update_cached_items()
+ self.assertEqual(Insight.objects.get().refresh_attempt, None)
+ self.assertEqual(DashboardTile.objects.get().refresh_attempt, 2)
+
+ # Magically succeeds, reset counter
+ patch_calculate_by_filter.side_effect = None
+ patch_calculate_by_filter.return_value = {"some": "exciting results"}
+ _update_cached_items()
+ self.assertEqual(Insight.objects.get().refresh_attempt, None)
+ self.assertEqual(DashboardTile.objects.get().refresh_attempt, 0)
+
+ # tick forwards since we ignore recently refreshed tiles
+ frozen_datetime.tick(timedelta(minutes=4))
+ # We should retry a max of 3 times
+ patch_calculate_by_filter.reset_mock()
+ patch_calculate_by_filter.side_effect = Exception()
+ _update_cached_items()
+ _update_cached_items()
+ _update_cached_items()
+ _update_cached_items()
+ self.assertEqual(Insight.objects.get().refresh_attempt, None)
+ self.assertEqual(patch_calculate_by_filter.call_count, 3)
+ self.assertEqual(DashboardTile.objects.get().refresh_attempt, 3)
+
+ # If a user later comes back and manually refreshes we should reset refresh_attempt
+ patch_calculate_by_filter.side_effect = None
+ self.client.get(
+ f"/api/projects/{self.team.pk}/insights/{item_to_cache.pk}/?refresh=true&from_dashboard={dashboard_to_cache.id}"
+ )
+ self.assertEqual(Insight.objects.get().refresh_attempt, None)
+ self.assertEqual(DashboardTile.objects.get().refresh_attempt, 0)
@freeze_time("2021-08-25T22:09:14.252Z")
def test_filters_multiple_dashboard(self) -> None:
@@ -660,7 +660,7 @@ def test_update_dashboard_tile_updates_tile_and_insight_filters_hash_when_dashbo
assert insight.filters_hash != test_hash
assert insight.last_refresh.isoformat(), "2021-08-25T22:09:14.252000+00:00"
assert tile.filters_hash != test_hash
- assert tile.last_refresh.isoformat(), "2021-08-25T22:09:14.252000+00:00"
+ assert tile.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
@freeze_time("2021-08-25T22:09:14.252Z")
def test_update_dashboard_tile_updates_only_tile_when_different_filters(self) -> None:
@@ -678,7 +678,7 @@ def test_update_dashboard_tile_updates_only_tile_when_different_filters(self) ->
assert insight.filters_hash == test_hash
assert insight.last_refresh is None
assert tile.filters_hash != test_hash
- assert tile.last_refresh.isoformat(), "2021-08-25T22:09:14.252000+00:00"
+ assert tile.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
@freeze_time("2021-08-25T22:09:14.252Z")
def test_cache_key_that_matches_no_assets_still_counts_as_a_refresh_attempt_for_dashboard_tiles(self) -> None:
@@ -805,6 +805,55 @@ def test_update_insight_cache_reports_on_updating_tiles_with_no_hash(self, stats
tile.refresh_from_db()
assert tile.filters_hash is not None
+ @patch("posthog.tasks.update_cache._calculate_by_filter")
+ @patch("posthog.tasks.update_cache.group.apply_async")
+ @patch("posthog.celery.update_cache_item_task.s")
+ def test_update_skips_items_refreshed_in_last_three_minutes(
+ self, patch_update_cache_item: MagicMock, patch_apply_async: MagicMock, patch_generate_results: MagicMock
+ ) -> None:
+ patch_generate_results.return_value = {"not": "None"}
+
+ with freeze_time("2021-08-25T22:09:14.252Z") as frozen_datetime:
+ # two tiles that share a hash
+ # only one on a shared dashboard
+ # the dashboard has no filters so both insights and the tile share a hash key
+ insight_one = self._create_insight_with_known_cache_key(None)
+ insight_two = self._create_insight_with_known_cache_key(None)
+ dashboard, tile = self._create_dashboard_tile_with_known_cache_key(
+ insight_one, None, last_accessed_at=datetime.now(pytz.utc)
+ )
+
+ self._run_cache_update(patch_update_cache_item)
+
+ tile.refresh_from_db()
+ insight_one.refresh_from_db()
+ insight_two.refresh_from_db()
+
+ assert tile.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
+ assert insight_one.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
+ assert insight_two.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
+
+ frozen_datetime.tick(delta=timedelta(minutes=1))
+
+ patch_update_cache_item.reset_mock()
+ self._run_cache_update(patch_update_cache_item)
+
+ # refresh dates don't change
+ tile.refresh_from_db()
+ insight_one.refresh_from_db()
+ insight_two.refresh_from_db()
+
+ assert tile.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
+ assert insight_one.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
+ assert insight_two.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
+
+ def _run_cache_update(self, patch_update_cache_item: MagicMock) -> None:
+ update_cached_items()
+ # pass the caught calls straight to the function
+ # we do this to skip Redis
+ for call_item in patch_update_cache_item.call_args_list:
+ update_cache_item(*call_item[0])
+
def _a_dashboard_tile_with_known_last_refresh(self, last_refresh_date: Optional[datetime]) -> DashboardTile:
dashboard = create_shared_dashboard(team=self.team, is_shared=True)
filter = {"events": [{"id": "$pageview"}]}
@@ -814,33 +863,40 @@ def _a_dashboard_tile_with_known_last_refresh(self, last_refresh_date: Optional[
tile.save(update_fields=["last_refresh"])
return tile
- def _create_insight_with_known_cache_key(self, test_hash: str) -> Insight:
+ def _create_insight_with_known_cache_key(self, cache_key: Optional[str] = None) -> Insight:
filter_dict: Dict[str, Any] = {
"events": [{"id": "$pageview"}],
"properties": [{"key": "$browser", "value": "Mac OS X"}],
}
insight: Insight = Insight.objects.create(team=self.team, filters=filter_dict)
- insight.filters_hash = test_hash
- insight.save(update_fields=["filters_hash"])
+ if cache_key:
+ insight.filters_hash = cache_key
+ insight.save(update_fields=["filters_hash"])
- insight.refresh_from_db()
- assert insight.filters_hash == test_hash
+ insight.refresh_from_db()
+ assert insight.filters_hash == cache_key
return insight
def _create_dashboard_tile_with_known_cache_key(
- self, insight: Insight, test_hash: str, dashboard_filters: Optional[Dict] = None
+ self,
+ insight: Insight,
+ cache_key: Optional[str] = None,
+ dashboard_filters: Optional[Dict] = None,
+ last_accessed_at: Optional[datetime] = None,
) -> Tuple[Dashboard, DashboardTile]:
dashboard: Dashboard = Dashboard.objects.create(
- team=self.team, filters=dashboard_filters if dashboard_filters else {}
+ team=self.team, filters=dashboard_filters if dashboard_filters else {}, last_accessed_at=last_accessed_at
)
- tile: DashboardTile = DashboardTile.objects.create(insight=insight, dashboard=dashboard)
- tile.filters_hash = test_hash
- tile.save(update_fields=["filters_hash"])
- tile.refresh_from_db()
- insight.refresh_from_db()
- assert tile.filters_hash == test_hash
- assert insight.filters_hash == test_hash
+ tile: DashboardTile = DashboardTile.objects.create(insight=insight, dashboard=dashboard)
+ if cache_key:
+ tile.filters_hash = cache_key
+ tile.save(update_fields=["filters_hash"])
+
+ tile.refresh_from_db()
+ insight.refresh_from_db()
+ assert tile.filters_hash == cache_key
+ assert insight.filters_hash == cache_key
return dashboard, tile
diff --git a/posthog/tasks/update_cache.py b/posthog/tasks/update_cache.py
index 52bb5732d3cb6b..83c09e5bae8a45 100644
--- a/posthog/tasks/update_cache.py
+++ b/posthog/tasks/update_cache.py
@@ -199,10 +199,13 @@ def update_cached_items() -> Tuple[int, int]:
# TODO: According to the metrics, on Cloud this is a huge list and needs to be improved
dashboard_tiles = (
DashboardTile.objects.filter(
- Q(
- Q(dashboard__sharingconfiguration__enabled=True)
- | Q(dashboard__last_accessed_at__gt=timezone.now() - relativedelta(days=7))
- )
+ Q(dashboard__sharingconfiguration__enabled=True)
+ | Q(dashboard__last_accessed_at__gt=timezone.now() - relativedelta(days=7))
+ )
+ .filter(
+ # no last refresh date or last refresh not in last three minutes
+ Q(last_refresh__isnull=True)
+ | Q(last_refresh__lt=timezone.now() - relativedelta(minutes=3))
)
.exclude(dashboard__deleted=True)
.exclude(insight__deleted=True)
From 40616f0d7c90141805ddb23dd9aad1f488fba39c Mon Sep 17 00:00:00 2001
From: Harry Waye
Date: Thu, 21 Jul 2022 14:32:38 +0100
Subject: [PATCH 131/213] chore(dev): clean up background jobs on EXIT and
prop. exit code (#10916)
We were for instance calling trap at a point where it wouldn't get
called, and giving special status to some processes to run in the
foreground.
Instead we:
1. wait for any process exit
2. use it's exit code for the calling process
3. kill background processes on EXIT
---
bin/docker-worker | 9 ++++++++-
bin/docker-worker-celery | 11 ++++++++---
bin/plugin-server | 2 +-
3 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/bin/docker-worker b/bin/docker-worker
index 194ca1e7df6f98..11d090175e4692 100755
--- a/bin/docker-worker
+++ b/bin/docker-worker
@@ -3,5 +3,12 @@ set -e
./bin/migrate-check
+# Stop any background jobs on exit
+trap 'kill $(jobs -p)' EXIT
+
./bin/plugin-server &
-./bin/docker-worker-celery --with-scheduler
+./bin/docker-worker-celery --with-scheduler &
+
+# Exit if any processes exit, and exit with it's exit code
+wait -n
+exit $?
diff --git a/bin/docker-worker-celery b/bin/docker-worker-celery
index c36511b54e9984..1f5166e95245b4 100755
--- a/bin/docker-worker-celery
+++ b/bin/docker-worker-celery
@@ -59,6 +59,9 @@ while test $# -gt 0; do
esac
done
+# Stop any background jobs on exit
+trap 'kill $(jobs -p)' EXIT
+
if [ "$with_scheduler" == "true" ]; then
./bin/docker-worker-beat &
fi
@@ -80,7 +83,9 @@ echo
./bin/migrate-check
-SKIP_ASYNC_MIGRATIONS_SETUP=0 celery -A posthog worker ${FLAGS[*]}
+SKIP_ASYNC_MIGRATIONS_SETUP=0 celery -A posthog worker ${FLAGS[*]} &
+
+# Exit if any processes exit, and exit with it's exit code
+wait -n
+exit $?
-# Stop the beat!
-trap 'kill $(jobs -p)' EXIT
diff --git a/bin/plugin-server b/bin/plugin-server
index 96333865d2bbce..66427756036286 100755
--- a/bin/plugin-server
+++ b/bin/plugin-server
@@ -44,7 +44,7 @@ fi
if [[ -n $NO_RESTART_LOOP ]]; then
echo "▶️ Starting plugin server..."
- trap 'kill -TERM $child 2>/dev/null; while kill -0 $child 2>/dev/null; do sleep 1; done' SIGTERM
+ trap 'kill -TERM $child 2>/dev/null; while kill -0 $child 2>/dev/null; do sleep 1; done' EXIT
yarn $cmd &
child=$!
wait $child
From aefc3ab0f2d2e5ef3f8cefbc484acf1487ca61d9 Mon Sep 17 00:00:00 2001
From: Harry Waye
Date: Thu, 21 Jul 2022 14:41:59 +0100
Subject: [PATCH 132/213] fix(persons): make sure "uuid" returned in person
response (#10911)
* fix(persons): make sure "uuid" returned in person response
We reference this in a few places but it was omitted from the response
by https://github.com/PostHog/posthog/pull/10868/files
This simply adds it back in.
Relates to the issue mentioned in Slack
[here](https://posthogusers.slack.com/archives/C01GLBKHKQT/p1658349671498709)
* only add to persons serializer, avoid changes to groups
* Update snapshots
* add uuid to group response test
Co-authored-by: hazzadous
---
.../views/test/test_clickhouse_groups.py | 1 +
posthog/api/test/test_person.py | 1 +
posthog/queries/actor_base_query.py | 2 ++
.../test/__snapshots__/test_feature_flag.ambr | 16 ++++++++--------
4 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/ee/clickhouse/views/test/test_clickhouse_groups.py b/ee/clickhouse/views/test/test_clickhouse_groups.py
index e792a18c7d757d..7837ea91283428 100644
--- a/ee/clickhouse/views/test/test_clickhouse_groups.py
+++ b/ee/clickhouse/views/test/test_clickhouse_groups.py
@@ -101,6 +101,7 @@ def test_related_groups(self):
"created_at": "2021-05-10T00:00:00Z",
"distinct_ids": ["1", "2"],
"id": "01795392-cc00-0003-7dc7-67a694604d72",
+ "uuid": "01795392-cc00-0003-7dc7-67a694604d72",
"is_identified": False,
"name": "1",
"properties": {},
diff --git a/posthog/api/test/test_person.py b/posthog/api/test/test_person.py
index 01239a4e385818..b3c2a5d636d125 100644
--- a/posthog/api/test/test_person.py
+++ b/posthog/api/test/test_person.py
@@ -132,6 +132,7 @@ def test_filter_person_email(self):
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.json()["results"]), 1)
self.assertEqual(response.json()["results"][0]["id"], str(person2.uuid))
+ self.assertEqual(response.json()["results"][0]["uuid"], str(person2.uuid))
def test_filter_person_list(self):
diff --git a/posthog/queries/actor_base_query.py b/posthog/queries/actor_base_query.py
index 7c1512269d543b..e653d9bc73e314 100644
--- a/posthog/queries/actor_base_query.py
+++ b/posthog/queries/actor_base_query.py
@@ -45,6 +45,7 @@ class CommonAttributes(TypedDict, total=False):
class SerializedPerson(CommonAttributes):
type: Literal["person"]
+ uuid: Union[uuid.UUID, str]
is_identified: Optional[bool]
name: str
distinct_ids: List[str]
@@ -196,6 +197,7 @@ def serialize_people(data: QuerySet[Person]) -> List[SerializedPerson]:
SerializedPerson(
type="person",
id=person.uuid,
+ uuid=person.uuid,
created_at=person.created_at,
properties=person.properties,
is_identified=person.is_identified,
diff --git a/posthog/test/__snapshots__/test_feature_flag.ambr b/posthog/test/__snapshots__/test_feature_flag.ambr
index 7f30752d6b309c..87f0bd37986114 100644
--- a/posthog/test/__snapshots__/test_feature_flag.ambr
+++ b/posthog/test/__snapshots__/test_feature_flag.ambr
@@ -72,11 +72,11 @@
---
# name: TestFeatureFlagMatcher.test_multiple_flags.3
'
- SELECT ("posthog_person"."properties" -> 'email') = '"test@posthog.com"' AS "flag_89_condition_0",
- (true) AS "flag_89_condition_1",
- (true) AS "flag_90_condition_0",
- (true) AS "flag_91_condition_0",
- (true) AS "flag_95_condition_0"
+ SELECT ("posthog_person"."properties" -> 'email') = '"test@posthog.com"' AS "flag_97_condition_0",
+ (true) AS "flag_97_condition_1",
+ (true) AS "flag_98_condition_0",
+ (true) AS "flag_99_condition_0",
+ (true) AS "flag_103_condition_0"
FROM "posthog_person"
INNER JOIN "posthog_persondistinctid" ON ("posthog_person"."id" = "posthog_persondistinctid"."person_id")
WHERE ("posthog_persondistinctid"."distinct_id" = 'test_id'
@@ -87,12 +87,12 @@
# name: TestFeatureFlagMatcher.test_multiple_flags.4
'
SELECT ("posthog_group"."group_key" = 'group_key'
- AND "posthog_group"."group_type_index" = 2) AS "flag_92_condition_0",
+ AND "posthog_group"."group_type_index" = 2) AS "flag_100_condition_0",
("posthog_group"."group_key" = 'group_key'
- AND "posthog_group"."group_type_index" = 2) AS "flag_93_condition_0",
+ AND "posthog_group"."group_type_index" = 2) AS "flag_101_condition_0",
(("posthog_group"."group_properties" -> 'name') IN ('"foo.inc"')
AND "posthog_group"."group_key" = 'foo'
- AND "posthog_group"."group_type_index" = 2) AS "flag_94_condition_0"
+ AND "posthog_group"."group_type_index" = 2) AS "flag_102_condition_0"
FROM "posthog_group"
WHERE "posthog_group"."team_id" = 2
'
From 36dc7a2d5e98310f78394df8cdfd5bb4b0a040d2 Mon Sep 17 00:00:00 2001
From: Paul D'Ambra
Date: Thu, 21 Jul 2022 14:56:00 +0100
Subject: [PATCH 133/213] fix: update cache keys in sync and async paths
(#10910)
* fix: update cache keys in sync and async paths
* also update out-of-date shared insights
* refactor move method
* refactor for clarity
* update mock patch reference
* Update snapshots
* chore: log each insight as the cache processes it
Co-authored-by: pauldambra
---
posthog/api/insight.py | 4 +-
posthog/api/test/test_insight.py | 4 +-
posthog/tasks/exports/image_exporter.py | 4 +-
.../tasks/exports/test/test_image_exporter.py | 2 +-
posthog/tasks/test/test_update_cache.py | 403 ++++++++++++------
posthog/tasks/update_cache.py | 215 +++++-----
6 files changed, 393 insertions(+), 239 deletions(-)
diff --git a/posthog/api/insight.py b/posthog/api/insight.py
index 5c896366f81b0a..aa67627f9fad93 100644
--- a/posthog/api/insight.py
+++ b/posthog/api/insight.py
@@ -61,7 +61,7 @@
from posthog.queries.trends.trends import Trends
from posthog.queries.util import get_earliest_timestamp
from posthog.settings import SITE_URL
-from posthog.tasks.update_cache import update_insight_cache
+from posthog.tasks.update_cache import synchronously_update_insight_cache
from posthog.utils import DEFAULT_DATE_FROM_DAYS, get_safe_cache, relative_date_parse, should_refresh, str_to_bool
logger = structlog.get_logger(__name__)
@@ -322,7 +322,7 @@ def get_result(self, insight: Insight):
dashboard = self.context.get("dashboard", None)
if should_refresh(self.context["request"]):
- return update_insight_cache(insight, dashboard)
+ return synchronously_update_insight_cache(insight, dashboard)
cache_key = insight.filters_hash
if dashboard is not None:
diff --git a/posthog/api/test/test_insight.py b/posthog/api/test/test_insight.py
index 48bdf708a021ce..c362bfc49bfef7 100644
--- a/posthog/api/test/test_insight.py
+++ b/posthog/api/test/test_insight.py
@@ -24,7 +24,7 @@
User,
)
from posthog.models.organization import OrganizationMembership
-from posthog.tasks.update_cache import update_insight_cache
+from posthog.tasks.update_cache import synchronously_update_insight_cache
from posthog.test.base import APIBaseTest, ClickhouseTestMixin, QueryMatchingTest, _create_event, _create_person
from posthog.test.db_context_capturing import capture_db_queries
from posthog.test.test_journeys import journeys_for
@@ -698,7 +698,7 @@ def test_save_new_funnel(self):
self.assertEqual(objects[0].filters["layout"], "horizontal")
self.assertEqual(len(objects[0].short_id), 8)
- @patch("posthog.api.insight.update_insight_cache", wraps=update_insight_cache)
+ @patch("posthog.api.insight.synchronously_update_insight_cache", wraps=synchronously_update_insight_cache)
def test_insight_refreshing(self, spy_update_insight_cache):
dashboard_id, _ = self._create_dashboard({"filters": {"date_from": "-14d",}})
diff --git a/posthog/tasks/exports/image_exporter.py b/posthog/tasks/exports/image_exporter.py
index 37bc0eaba47f24..267df0c5c58fef 100644
--- a/posthog/tasks/exports/image_exporter.py
+++ b/posthog/tasks/exports/image_exporter.py
@@ -20,7 +20,7 @@
from posthog.internal_metrics import incr, timing
from posthog.logging.timing import timed
from posthog.models.exported_asset import ExportedAsset, get_public_access_token, save_content
-from posthog.tasks.update_cache import update_insight_cache
+from posthog.tasks.update_cache import synchronously_update_insight_cache
from posthog.utils import absolute_uri
logger = structlog.get_logger(__name__)
@@ -135,7 +135,7 @@ def export_image(exported_asset: ExportedAsset) -> None:
if exported_asset.insight:
# NOTE: Dashboards are regularly updated but insights are not
# so, we need to trigger a manual update to ensure the results are good
- update_insight_cache(exported_asset.insight, dashboard=exported_asset.dashboard)
+ synchronously_update_insight_cache(exported_asset.insight, dashboard=exported_asset.dashboard)
if exported_asset.export_format == "image/png":
_export_to_png(exported_asset)
diff --git a/posthog/tasks/exports/test/test_image_exporter.py b/posthog/tasks/exports/test/test_image_exporter.py
index 69368df883ccf6..d10ad0cb173fcb 100644
--- a/posthog/tasks/exports/test/test_image_exporter.py
+++ b/posthog/tasks/exports/test/test_image_exporter.py
@@ -18,7 +18,7 @@
TEST_BUCKET = "Test-Exports"
-@patch("posthog.tasks.exports.image_exporter.update_insight_cache")
+@patch("posthog.tasks.exports.image_exporter.synchronously_update_insight_cache")
@patch("posthog.tasks.exports.image_exporter._screenshot_asset")
@patch("builtins.open", new_callable=mock_open, read_data=b"image_data")
@patch("os.remove")
diff --git a/posthog/tasks/test/test_update_cache.py b/posthog/tasks/test/test_update_cache.py
index 631dcfdddf4c37..92070a59ac9403 100644
--- a/posthog/tasks/test/test_update_cache.py
+++ b/posthog/tasks/test/test_update_cache.py
@@ -18,9 +18,9 @@
from posthog.queries.util import get_earliest_timestamp
from posthog.tasks.update_cache import (
PARALLEL_INSIGHT_CACHE,
+ synchronously_update_insight_cache,
update_cache_item,
update_cached_items,
- update_insight_cache,
)
from posthog.test.base import APIBaseTest
from posthog.types import FilterType
@@ -41,10 +41,129 @@ def create_shared_insight(team: Team, is_shared: bool = False, **kwargs: Any) ->
return insight
+def _a_dashboard_tile_with_known_last_refresh(team: Team, last_refresh_date: Optional[datetime]) -> DashboardTile:
+ dashboard = create_shared_dashboard(team=team, is_shared=True)
+ filter = {"events": [{"id": "$pageview"}]}
+ item = Insight.objects.create(filters=filter, team=team)
+ tile: DashboardTile = DashboardTile.objects.create(insight=item, dashboard=dashboard)
+ tile.last_refresh = last_refresh_date
+ tile.save(update_fields=["last_refresh"])
+ return tile
+
+
+def _create_insight_with_known_cache_key(team: Team, cache_key: Optional[str] = None) -> Insight:
+ filter_dict: Dict[str, Any] = {
+ "events": [{"id": "$pageview"}],
+ "properties": [{"key": "$browser", "value": "Mac OS X"}],
+ }
+ insight: Insight = Insight.objects.create(team=team, filters=filter_dict)
+ if cache_key:
+ insight.filters_hash = cache_key
+ insight.save(update_fields=["filters_hash"])
+
+ insight.refresh_from_db()
+ assert insight.filters_hash == cache_key
+
+ return insight
+
+
+def _create_dashboard_tile_with_known_cache_key(
+ team: Team,
+ insight: Insight,
+ cache_key: Optional[str] = None,
+ dashboard_filters: Optional[Dict] = None,
+ last_accessed_at: Optional[datetime] = None,
+) -> Tuple[Dashboard, DashboardTile]:
+ dashboard: Dashboard = Dashboard.objects.create(
+ team=team, filters=dashboard_filters if dashboard_filters else {}, last_accessed_at=last_accessed_at
+ )
+
+ tile: DashboardTile = DashboardTile.objects.create(insight=insight, dashboard=dashboard)
+ if cache_key:
+ tile.filters_hash = cache_key
+ tile.save(update_fields=["filters_hash"])
+
+ tile.refresh_from_db()
+ insight.refresh_from_db()
+ assert tile.filters_hash == cache_key
+ assert insight.filters_hash == cache_key
+
+ return dashboard, tile
+
+
+class TestSynchronousCacheUpdate(APIBaseTest):
+ @patch("posthog.tasks.update_cache.statsd.incr")
+ def test_update_insight_cache_reports_on_updating_tiles_with_no_hash(self, statsd_incr: MagicMock) -> None:
+ tile = _a_dashboard_tile_with_known_last_refresh(self.team, last_refresh_date=None)
+ # can't set filters_hash=None on a route that triggers save
+ DashboardTile.objects.filter(id=tile.id).update(filters_hash=None)
+ tile.refresh_from_db()
+ assert tile.filters_hash is None
+
+ synchronously_update_insight_cache(tile.insight, tile.dashboard)
+
+ statsd_incr.assert_any_call("update_cache_queue.set_missing_filters_hash", 1)
+
+ tile.refresh_from_db()
+ assert tile.filters_hash is not None
+
+ @freeze_time("2021-08-25T22:09:14.252Z")
+ def test_update_insight_filters_hash(self) -> None:
+ test_hash = "rongi rattad ragisevad"
+ insight = _create_insight_with_known_cache_key(self.team, test_hash)
+
+ synchronously_update_insight_cache(insight, None)
+
+ insight.refresh_from_db()
+ assert insight.filters_hash != test_hash
+ assert insight.last_refresh.isoformat(), "2021-08-25T22:09:14.252000+00:00"
+
+ @freeze_time("2021-08-25T22:09:14.252Z")
+ def test_update_dashboard_tile_updates_tile_and_insight_filters_hash_when_dashboard_has_no_filters(self) -> None:
+ test_hash = "rongi rattad ragisevad"
+ insight = _create_insight_with_known_cache_key(self.team, test_hash)
+ dashboard, tile = _create_dashboard_tile_with_known_cache_key(self.team, insight, test_hash)
+
+ synchronously_update_insight_cache(insight, dashboard)
+
+ insight.refresh_from_db()
+ tile.refresh_from_db()
+ assert insight.filters_hash != test_hash
+ assert insight.last_refresh.isoformat(), "2021-08-25T22:09:14.252000+00:00"
+ assert tile.filters_hash != test_hash
+ assert tile.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
+
+ @freeze_time("2021-08-25T22:09:14.252Z")
+ def test_update_dashboard_tile_updates_only_tile_when_different_filters(self) -> None:
+ test_hash = "rongi rattad ragisevad"
+ insight = _create_insight_with_known_cache_key(self.team, test_hash)
+ dashboard, tile = _create_dashboard_tile_with_known_cache_key(
+ self.team, insight, test_hash, dashboard_filters={"date_from": "-30d"}
+ )
+
+ synchronously_update_insight_cache(insight, dashboard)
+
+ tile.refresh_from_db()
+ insight.refresh_from_db()
+
+ assert insight.filters_hash == test_hash
+ assert insight.last_refresh is None
+ assert tile.filters_hash != test_hash
+ assert tile.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
+
+
+def run_cache_update(patch_update_cache_item: MagicMock) -> None:
+ update_cached_items()
+ # pass the caught calls straight to the function
+ # we do this to skip Redis
+ for call_item in patch_update_cache_item.call_args_list:
+ update_cache_item(*call_item[0])
+
+
class TestUpdateCache(APIBaseTest):
@patch("posthog.tasks.update_cache.group.apply_async")
@patch("posthog.celery.update_cache_item_task.s")
- def test_refresh_dashboard_cache(self, patch_update_cache_item: MagicMock, patch_apply_async: MagicMock) -> None:
+ def test_refresh_dashboard_cache(self, patch_update_cache_item: MagicMock, _: MagicMock) -> None:
# There's two things we want to refresh
# Any shared dashboard, as we only use cached items to show those
# Any dashboard accessed in the last 7 days
@@ -127,7 +246,7 @@ def test_refresh_dashboard_cache(self, patch_update_cache_item: MagicMock, patch
item_key = generate_cache_key(filter.toJSON() + "_" + str(self.team.pk))
funnel_key = generate_cache_key(filter.toJSON() + "_" + str(self.team.pk))
- self._run_cache_update(patch_update_cache_item)
+ run_cache_update(patch_update_cache_item)
self.assertIsNotNone(Insight.objects.get(pk=cached_insight_because_no_dashboard_filters.pk).last_refresh)
self.assertIsNotNone(
@@ -335,7 +454,7 @@ def _create_dashboard(self, filter: FilterType) -> Tuple[Insight, Dashboard]:
@patch("posthog.tasks.update_cache.group.apply_async")
@patch("posthog.celery.update_cache_item_task.s")
@freeze_time("2012-01-15")
- def test_stickiness_regression(self, patch_update_cache_item: MagicMock, patch_apply_async: MagicMock) -> None:
+ def test_stickiness_regression(self, patch_update_cache_item: MagicMock, _patch_apply_async: MagicMock) -> None:
# We moved Stickiness from being a "shown_as" item to its own insight
# This move caused issues hence a regression test
filter_stickiness = StickinessFilter(
@@ -367,7 +486,7 @@ def test_stickiness_regression(self, patch_update_cache_item: MagicMock, patch_a
item_stickiness_key = generate_cache_key(filter_stickiness.toJSON() + "_" + str(self.team.pk))
item_key = generate_cache_key(filter.toJSON() + "_" + str(self.team.pk))
- self._run_cache_update(patch_update_cache_item)
+ run_cache_update(patch_update_cache_item)
self.assertEqual(
get_safe_cache(item_stickiness_key)["result"][0]["labels"],
@@ -585,7 +704,7 @@ def test_broken_exception_insights(self, dashboard_item_update_task_params: Magi
@patch("posthog.tasks.update_cache.group.apply_async")
@patch("posthog.celery.update_cache_item_task.s")
@freeze_time("2022-01-03T00:00:00.000Z")
- def test_refresh_insight_cache(self, patch_update_cache_item: MagicMock, patch_apply_async: MagicMock) -> None:
+ def test_refresh_insight_cache(self, patch_update_cache_item: MagicMock, _patch_apply_async: MagicMock) -> None:
filter_dict: Dict[str, Any] = {
"events": [{"id": "$pageview"}],
"properties": [{"key": "$browser", "value": "Mac OS X"}],
@@ -604,7 +723,7 @@ def test_refresh_insight_cache(self, patch_update_cache_item: MagicMock, patch_a
filters=filter_dict,
last_refresh=datetime(2022, 1, 1).replace(tzinfo=pytz.utc),
)
- for i in range(PARALLEL_INSIGHT_CACHE - 1)
+ for _ in range(PARALLEL_INSIGHT_CACHE - 1)
]
# Valid insights outside of the PARALLEL_INSIGHT_CACHE count with later refresh date to ensure order
@@ -636,56 +755,12 @@ def test_refresh_insight_cache(self, patch_update_cache_item: MagicMock, patch_a
for insight in other_insights_out_of_range:
assert not Insight.objects.get(pk=insight.pk).last_refresh == datetime(2022, 1, 2).replace(tzinfo=pytz.utc)
- @freeze_time("2021-08-25T22:09:14.252Z")
- def test_update_insight_filters_hash(self) -> None:
- test_hash = "rongi rattad ragisevad"
- insight = self._create_insight_with_known_cache_key(test_hash)
-
- update_insight_cache(insight, None)
-
- insight.refresh_from_db()
- assert insight.filters_hash != test_hash
- assert insight.last_refresh.isoformat(), "2021-08-25T22:09:14.252000+00:00"
-
- @freeze_time("2021-08-25T22:09:14.252Z")
- def test_update_dashboard_tile_updates_tile_and_insight_filters_hash_when_dashboard_has_no_filters(self) -> None:
- test_hash = "rongi rattad ragisevad"
- insight = self._create_insight_with_known_cache_key(test_hash)
- dashboard, tile = self._create_dashboard_tile_with_known_cache_key(insight, test_hash)
-
- update_insight_cache(insight, dashboard)
-
- insight.refresh_from_db()
- tile.refresh_from_db()
- assert insight.filters_hash != test_hash
- assert insight.last_refresh.isoformat(), "2021-08-25T22:09:14.252000+00:00"
- assert tile.filters_hash != test_hash
- assert tile.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
-
- @freeze_time("2021-08-25T22:09:14.252Z")
- def test_update_dashboard_tile_updates_only_tile_when_different_filters(self) -> None:
- test_hash = "rongi rattad ragisevad"
- insight = self._create_insight_with_known_cache_key(test_hash)
- dashboard, tile = self._create_dashboard_tile_with_known_cache_key(
- insight, test_hash, dashboard_filters={"date_from": "-30d"}
- )
-
- update_insight_cache(insight, dashboard)
-
- tile.refresh_from_db()
- insight.refresh_from_db()
-
- assert insight.filters_hash == test_hash
- assert insight.last_refresh is None
- assert tile.filters_hash != test_hash
- assert tile.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
-
@freeze_time("2021-08-25T22:09:14.252Z")
def test_cache_key_that_matches_no_assets_still_counts_as_a_refresh_attempt_for_dashboard_tiles(self) -> None:
test_hash = "märg koer lamab parimal tekil"
- insight = self._create_insight_with_known_cache_key(test_hash)
- dashboard, tile = self._create_dashboard_tile_with_known_cache_key(
- insight, test_hash, dashboard_filters={"date_from": "-30d"}
+ insight = _create_insight_with_known_cache_key(self.team, test_hash)
+ dashboard, tile = _create_dashboard_tile_with_known_cache_key(
+ self.team, insight, test_hash, dashboard_filters={"date_from": "-30d"}
)
assert insight.refresh_attempt is None
@@ -715,7 +790,7 @@ def test_cache_key_that_matches_no_assets_still_counts_as_a_refresh_attempt_for_
@freeze_time("2021-08-25T22:09:14.252Z")
def test_cache_key_that_matches_no_assets_still_counts_as_a_refresh_attempt_for_insights(self) -> None:
test_hash = "märg koer lamab parimal tekil"
- insight = self._create_insight_with_known_cache_key(test_hash)
+ insight = _create_insight_with_known_cache_key(self.team, test_hash)
assert insight.refresh_attempt is None
@@ -754,11 +829,11 @@ def test_never_refreshed_tiles_are_gauged(self, statsd_gauge: MagicMock) -> None
@freeze_time("2022-12-01T13:54:00.000Z")
@patch("posthog.tasks.update_cache.statsd.gauge")
def test_refresh_age_of_tiles_is_gauged(self, statsd_gauge: MagicMock) -> None:
- tile_one = self._a_dashboard_tile_with_known_last_refresh(datetime.now(pytz.utc) - timedelta(hours=1))
- tile_two = self._a_dashboard_tile_with_known_last_refresh(datetime.now(pytz.utc) - timedelta(hours=0.5))
+ tile_one = _a_dashboard_tile_with_known_last_refresh(self.team, datetime.now(pytz.utc) - timedelta(hours=1))
+ tile_two = _a_dashboard_tile_with_known_last_refresh(self.team, datetime.now(pytz.utc) - timedelta(hours=0.5))
# should not gauge because no last_refresh
- self._a_dashboard_tile_with_known_last_refresh(None)
+ _a_dashboard_tile_with_known_last_refresh(self.team, None)
update_cached_items()
@@ -790,40 +865,24 @@ def test_refresh_age_of_tiles_is_gauged(self, statsd_gauge: MagicMock) -> None:
]
assert len(lag_calls) == 2
- @patch("posthog.tasks.update_cache.statsd.incr")
- def test_update_insight_cache_reports_on_updating_tiles_with_no_hash(self, statsd_incr: MagicMock) -> None:
- tile = self._a_dashboard_tile_with_known_last_refresh(last_refresh_date=None)
- # can't set filters_hash=None on a route that triggers save
- DashboardTile.objects.filter(id=tile.id).update(filters_hash=None)
- tile.refresh_from_db()
- assert tile.filters_hash is None
-
- update_insight_cache(tile.insight, tile.dashboard)
-
- statsd_incr.assert_any_call("update_cache_queue.set_missing_filters_hash", 1)
-
- tile.refresh_from_db()
- assert tile.filters_hash is not None
-
- @patch("posthog.tasks.update_cache._calculate_by_filter")
+ @patch("posthog.tasks.update_cache._calculate_by_filter", return_value={"not": "None"})
@patch("posthog.tasks.update_cache.group.apply_async")
@patch("posthog.celery.update_cache_item_task.s")
def test_update_skips_items_refreshed_in_last_three_minutes(
- self, patch_update_cache_item: MagicMock, patch_apply_async: MagicMock, patch_generate_results: MagicMock
+ self, patch_update_cache_item: MagicMock, _patch_apply_async: MagicMock, _patch_generate_results: MagicMock
) -> None:
- patch_generate_results.return_value = {"not": "None"}
with freeze_time("2021-08-25T22:09:14.252Z") as frozen_datetime:
# two tiles that share a hash
# only one on a shared dashboard
# the dashboard has no filters so both insights and the tile share a hash key
- insight_one = self._create_insight_with_known_cache_key(None)
- insight_two = self._create_insight_with_known_cache_key(None)
- dashboard, tile = self._create_dashboard_tile_with_known_cache_key(
- insight_one, None, last_accessed_at=datetime.now(pytz.utc)
+ insight_one = _create_insight_with_known_cache_key(self.team, None)
+ insight_two = _create_insight_with_known_cache_key(self.team, None)
+ dashboard, tile = _create_dashboard_tile_with_known_cache_key(
+ self.team, insight_one, None, last_accessed_at=datetime.now(pytz.utc)
)
- self._run_cache_update(patch_update_cache_item)
+ run_cache_update(patch_update_cache_item)
tile.refresh_from_db()
insight_one.refresh_from_db()
@@ -836,7 +895,7 @@ def test_update_skips_items_refreshed_in_last_three_minutes(
frozen_datetime.tick(delta=timedelta(minutes=1))
patch_update_cache_item.reset_mock()
- self._run_cache_update(patch_update_cache_item)
+ run_cache_update(patch_update_cache_item)
# refresh dates don't change
tile.refresh_from_db()
@@ -847,56 +906,150 @@ def test_update_skips_items_refreshed_in_last_three_minutes(
assert insight_one.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
assert insight_two.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
- def _run_cache_update(self, patch_update_cache_item: MagicMock) -> None:
- update_cached_items()
- # pass the caught calls straight to the function
- # we do this to skip Redis
- for call_item in patch_update_cache_item.call_args_list:
- update_cache_item(*call_item[0])
+ @patch("posthog.tasks.update_cache.cache.set")
+ @patch("posthog.tasks.update_cache._calculate_by_filter")
+ @patch("posthog.tasks.update_cache.group.apply_async")
+ @patch("posthog.celery.update_cache_item_task.s")
+ @patch("posthog.tasks.update_cache.statsd.incr")
+ def test_update_insight_cache_reports_on_updating_tiles_with_no_hash(
+ self,
+ statsd_incr: MagicMock,
+ patch_update_cache_item: MagicMock,
+ _patch_apply_async: MagicMock,
+ _patch_generate_results: MagicMock,
+ _patched_cache_set: MagicMock,
+ ) -> None:
+ tile = _a_dashboard_tile_with_known_last_refresh(self.team, last_refresh_date=None)
+ # can't set filters_hash=None on a route that triggers save
+ DashboardTile.objects.filter(id=tile.id).update(filters_hash=None)
+ tile.refresh_from_db()
+ assert tile.filters_hash is None
- def _a_dashboard_tile_with_known_last_refresh(self, last_refresh_date: Optional[datetime]) -> DashboardTile:
- dashboard = create_shared_dashboard(team=self.team, is_shared=True)
- filter = {"events": [{"id": "$pageview"}]}
- item = Insight.objects.create(filters=filter, team=self.team)
- tile: DashboardTile = DashboardTile.objects.create(insight=item, dashboard=dashboard)
- tile.last_refresh = last_refresh_date
- tile.save(update_fields=["last_refresh"])
- return tile
+ run_cache_update(patch_update_cache_item)
- def _create_insight_with_known_cache_key(self, cache_key: Optional[str] = None) -> Insight:
- filter_dict: Dict[str, Any] = {
- "events": [{"id": "$pageview"}],
- "properties": [{"key": "$browser", "value": "Mac OS X"}],
- }
- insight: Insight = Insight.objects.create(team=self.team, filters=filter_dict)
- if cache_key:
- insight.filters_hash = cache_key
- insight.save(update_fields=["filters_hash"])
+ statsd_incr.assert_any_call("update_cache_queue.set_missing_filters_hash", 1)
+
+ tile.refresh_from_db()
+ assert tile.filters_hash is not None
+
+ @freeze_time("2021-08-25T22:09:14.252Z")
+ @patch("posthog.tasks.update_cache._calculate_by_filter", return_value={"not", "an empty result"})
+ @patch("posthog.tasks.update_cache.group.apply_async")
+ @patch("posthog.celery.update_cache_item_task.s")
+ def test_update_insight_filters_hash(
+ self, patch_update_cache_item: MagicMock, _patch_apply_async: MagicMock, _patch_generate_results: MagicMock,
+ ) -> None:
+ test_hash = "rongi rattad ragisevad"
+ insight = _create_insight_with_known_cache_key(self.team, test_hash)
+ dashboard, tile = _create_dashboard_tile_with_known_cache_key(
+ self.team, insight, test_hash, last_accessed_at=datetime.now(pytz.utc) - timedelta(days=1)
+ )
+
+ run_cache_update(patch_update_cache_item)
- insight.refresh_from_db()
- assert insight.filters_hash == cache_key
+ insight.refresh_from_db()
+ assert insight.filters_hash != test_hash
+ assert insight.last_refresh.isoformat(), "2021-08-25T22:09:14.252000+00:00"
- return insight
+ @freeze_time("2021-08-25T22:09:14.252Z")
+ @patch("posthog.tasks.update_cache.cache.set")
+ @patch("posthog.tasks.update_cache._calculate_by_filter", return_value={"not": "empty result"})
+ @patch("posthog.tasks.update_cache.group.apply_async")
+ @patch("posthog.celery.update_cache_item_task.s")
+ def test_update_dashboard_tile_updates_tile_and_insight_filters_hash_when_dashboard_has_no_filters(
+ self,
+ patch_update_cache_item: MagicMock,
+ _patch_apply_async: MagicMock,
+ _patch_generate_results: MagicMock,
+ _patched_cache_set: MagicMock,
+ ) -> None:
+ test_hash = "rongi rattad ragisevad"
+ insight = _create_insight_with_known_cache_key(self.team, test_hash)
+ dashboard, tile = _create_dashboard_tile_with_known_cache_key(
+ self.team, insight, test_hash, last_accessed_at=datetime.now(pytz.utc) - timedelta(days=1)
+ )
- def _create_dashboard_tile_with_known_cache_key(
+ run_cache_update(patch_update_cache_item)
+
+ insight.refresh_from_db()
+ tile.refresh_from_db()
+ assert insight.filters_hash != test_hash
+ assert insight.last_refresh.isoformat(), "2021-08-25T22:09:14.252000+00:00"
+ assert tile.filters_hash != test_hash
+ assert tile.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
+
+ @freeze_time("2021-08-25T22:09:14.252Z")
+ @patch("posthog.tasks.update_cache.cache.set")
+ @patch("posthog.tasks.update_cache._calculate_by_filter", return_value={"not": "empty result"})
+ @patch("posthog.tasks.update_cache.group.apply_async")
+ @patch("posthog.celery.update_cache_item_task.s")
+ def test_update_dashboard_tile_updates_only_tile_when_different_filters(
self,
- insight: Insight,
- cache_key: Optional[str] = None,
- dashboard_filters: Optional[Dict] = None,
- last_accessed_at: Optional[datetime] = None,
- ) -> Tuple[Dashboard, DashboardTile]:
- dashboard: Dashboard = Dashboard.objects.create(
- team=self.team, filters=dashboard_filters if dashboard_filters else {}, last_accessed_at=last_accessed_at
+ patch_update_cache_item: MagicMock,
+ _patch_apply_async: MagicMock,
+ _patch_generate_results: MagicMock,
+ _patched_cache_set: MagicMock,
+ ) -> None:
+ test_hash = "rongi rattad ragisevad"
+ insight = _create_insight_with_known_cache_key(self.team, test_hash)
+ dashboard, tile = _create_dashboard_tile_with_known_cache_key(
+ self.team,
+ insight,
+ test_hash,
+ dashboard_filters={"date_from": "-30d"},
+ last_accessed_at=datetime.now(pytz.utc) - timedelta(days=1),
)
- tile: DashboardTile = DashboardTile.objects.create(insight=insight, dashboard=dashboard)
- if cache_key:
- tile.filters_hash = cache_key
- tile.save(update_fields=["filters_hash"])
+ run_cache_update(patch_update_cache_item)
- tile.refresh_from_db()
- insight.refresh_from_db()
- assert tile.filters_hash == cache_key
- assert insight.filters_hash == cache_key
+ tile.refresh_from_db()
+ insight.refresh_from_db()
+
+ assert insight.filters_hash == test_hash
+ assert insight.last_refresh is None
+ assert tile.filters_hash != test_hash
+ assert tile.last_refresh.isoformat() == "2021-08-25T22:09:14.252000+00:00"
+
+
+class TestUpdateCacheForSharedInsights(APIBaseTest):
+ @patch("posthog.tasks.update_cache.cache.set")
+ @patch("posthog.tasks.update_cache._calculate_by_filter", return_value={"not": "empty result"})
+ @patch("posthog.tasks.update_cache.group.apply_async")
+ @patch("posthog.celery.update_cache_item_task.s")
+ def test_updates_insight_with_incorrect_filters_hash(
+ self,
+ patch_update_cache_item: MagicMock,
+ _patch_apply_async: MagicMock,
+ _patch_generate_results: MagicMock,
+ _patched_cache_set: MagicMock,
+ ) -> None:
+ test_hash = "ma räägin temaga, aga vaatan sind"
+ insight = _create_insight_with_known_cache_key(self.team, test_hash)
+ SharingConfiguration.objects.create(team=self.team, insight=insight, enabled=True)
+
+ run_cache_update(patch_update_cache_item)
+ insight.refresh_from_db()
+
+ assert insight.filters_hash != test_hash
+ assert insight.last_refresh is not None
+
+ @patch("posthog.tasks.update_cache.cache.set")
+ @patch("posthog.tasks.update_cache._calculate_by_filter", return_value={"not": "empty result"})
+ @patch("posthog.tasks.update_cache.group.apply_async")
+ @patch("posthog.celery.update_cache_item_task.s")
+ def test_updates_insight_with_null_filters_hash(
+ self,
+ patch_update_cache_item: MagicMock,
+ _patch_apply_async: MagicMock,
+ _patch_generate_results: MagicMock,
+ _patched_cache_set: MagicMock,
+ ) -> None:
+
+ insight = _create_insight_with_known_cache_key(self.team, None)
+ SharingConfiguration.objects.create(team=self.team, insight=insight, enabled=True)
+
+ run_cache_update(patch_update_cache_item)
+ insight.refresh_from_db()
- return dashboard, tile
+ assert insight.filters_hash is not None
+ assert insight.last_refresh is not None
diff --git a/posthog/tasks/update_cache.py b/posthog/tasks/update_cache.py
index 83c09e5bae8a45..ee40605bf82c71 100644
--- a/posthog/tasks/update_cache.py
+++ b/posthog/tasks/update_cache.py
@@ -1,10 +1,11 @@
import datetime
import json
import os
-from typing import Any, Dict, List, Optional, Tuple
+from typing import Any, Dict, List, Optional, Tuple, Union
import structlog
from celery import group
+from celery.canvas import Signature
from dateutil.relativedelta import relativedelta
from django.conf import settings
from django.core.cache import cache
@@ -51,6 +52,93 @@
}
+def update_cached_items() -> Tuple[int, int]:
+ tasks: List[Optional[Signature]] = []
+
+ dashboard_tiles = (
+ DashboardTile.objects.filter(
+ Q(dashboard__sharingconfiguration__enabled=True)
+ | Q(dashboard__last_accessed_at__gt=timezone.now() - relativedelta(days=7))
+ )
+ .filter(
+ # no last refresh date or last refresh not in last three minutes
+ Q(last_refresh__isnull=True)
+ | Q(last_refresh__lt=timezone.now() - relativedelta(minutes=3))
+ )
+ .exclude(dashboard__deleted=True)
+ .exclude(insight__deleted=True)
+ .exclude(insight__filters={})
+ .exclude(Q(insight__refreshing=True) | Q(refreshing=True))
+ .exclude(Q(insight__refresh_attempt__gt=2) | Q(refresh_attempt__gt=2))
+ .select_related("insight", "dashboard")
+ .order_by(F("last_refresh").asc(nulls_first=True), F("insight__last_refresh").asc(nulls_first=True))
+ )
+
+ for dashboard_tile in dashboard_tiles[0:PARALLEL_INSIGHT_CACHE]:
+ tasks.append(task_for_cache_update_candidate(dashboard_tile))
+
+ shared_insights = (
+ Insight.objects.filter(sharingconfiguration__enabled=True)
+ .exclude(deleted=True)
+ .exclude(filters={})
+ .exclude(refreshing=True)
+ .exclude(refresh_attempt__gt=2)
+ .order_by(F("last_refresh").asc(nulls_first=True))
+ )
+
+ for insight in shared_insights[0:PARALLEL_INSIGHT_CACHE]:
+ tasks.append(task_for_cache_update_candidate(insight))
+
+ gauge_cache_update_candidates(dashboard_tiles, shared_insights)
+
+ tasks = list(filter(None, tasks))
+ group(tasks).apply_async()
+ return len(tasks), dashboard_tiles.count() + shared_insights.count()
+
+
+def task_for_cache_update_candidate(candidate: Union[DashboardTile, Insight]) -> Optional[Signature]:
+ candidate_tile: Optional[DashboardTile] = None if isinstance(candidate, Insight) else candidate
+ candidate_insight: Insight = candidate if isinstance(candidate, Insight) else candidate.insight
+ candidate_dashboard: Optional[Dashboard] = None if isinstance(candidate, Insight) else candidate.dashboard
+
+ try:
+ cache_key, cache_type, payload = insight_update_task_params(candidate_insight, candidate_dashboard)
+ update_filters_hash(cache_key, candidate_dashboard, candidate_insight)
+ return update_cache_item_task.s(cache_key, cache_type, payload)
+ except Exception as e:
+ candidate_insight.refresh_attempt = (candidate_insight.refresh_attempt or 0) + 1
+ candidate_insight.save(update_fields=["refresh_attempt"])
+ if candidate_tile:
+ candidate_tile.refresh_attempt = (candidate_tile.refresh_attempt or 0) + 1
+ candidate_tile.save(update_fields=["refresh_attempt"])
+ capture_exception(e)
+ return None
+
+
+def gauge_cache_update_candidates(dashboard_tiles: QuerySet, shared_insights: QuerySet) -> None:
+ statsd.gauge("update_cache_queue.never_refreshed", dashboard_tiles.filter(last_refresh=None).count())
+ oldest_previously_refreshed_tiles: List[DashboardTile] = list(
+ dashboard_tiles.exclude(last_refresh=None)[0:PARALLEL_INSIGHT_CACHE]
+ )
+ for candidate_tile in oldest_previously_refreshed_tiles:
+ dashboard_cache_age = (datetime.datetime.now(timezone.utc) - candidate_tile.last_refresh).total_seconds()
+
+ statsd.gauge(
+ "update_cache_queue.dashboards_lag",
+ round(dashboard_cache_age),
+ tags={
+ "insight_id": candidate_tile.insight_id,
+ "dashboard_id": candidate_tile.dashboard_id,
+ "cache_key": candidate_tile.filters_hash,
+ },
+ )
+
+ # this is the number of cacheable items that match the query
+ statsd.gauge("update_cache_queue_depth.shared_insights", shared_insights.count())
+ statsd.gauge("update_cache_queue_depth.dashboards", dashboard_tiles.count())
+ statsd.gauge("update_cache_queue_depth", dashboard_tiles.count() + shared_insights.count())
+
+
@timed("update_cache_item_timer")
def update_cache_item(key: str, cache_type: CacheType, payload: dict) -> List[Dict[str, Any]]:
filter_dict = json.loads(payload["filter"])
@@ -87,7 +175,15 @@ def update_cache_item(key: str, cache_type: CacheType, payload: dict) -> List[Di
if not dashboard_id
else DashboardTile.objects.filter(insight_id=insight_id, dashboard_id=dashboard_id)
)
- return []
+ result = []
+
+ logger.info(
+ "update_insight_cache.processed_item",
+ insight_id=payload.get("insight_id", None),
+ dashboard_id=payload.get("dashboard_id", None),
+ cache_key=key,
+ has_results=len(result) > 0,
+ )
return result
@@ -126,28 +222,32 @@ def _mark_refresh_attempt_for(queryset: QuerySet) -> None:
queryset.update(refreshing=False, refresh_attempt=F("refresh_attempt") + 1)
-def update_insight_cache(insight: Insight, dashboard: Optional[Dashboard]) -> List[Dict[str, Any]]:
+def synchronously_update_insight_cache(insight: Insight, dashboard: Optional[Dashboard]) -> List[Dict[str, Any]]:
cache_key, cache_type, payload = insight_update_task_params(insight, dashboard)
- # check if the cache key has changed, usually because of a new default filter
+ update_filters_hash(cache_key, dashboard, insight)
+ result = update_cache_item(cache_key, cache_type, payload)
+ insight.refresh_from_db()
+ return result
+
+
+def update_filters_hash(cache_key: str, dashboard: Optional[Dashboard], insight: Insight) -> None:
+ """ check if the cache key has changed, usually because of a new default filter
# there are three possibilities
# 1) the insight is not being updated in a dashboard context
# --> so set its cache key if it doesn't match
# 2) the insight is being updated in a dashboard context and the dashboard has different filters to the insight
# --> so set only the dashboard tile's filters_hash
# 3) the insight is being updated in a dashboard context and the dashboard has matching or no filters
- # --> so set the dashboard tile and the insight's filters hash
+ # --> so set the dashboard tile and the insight's filters hash"""
should_update_insight_filters_hash = False
should_update_dashboard_tile_filters_hash = False
-
if not dashboard and insight.filters_hash and insight.filters_hash != cache_key:
should_update_insight_filters_hash = True
-
if dashboard:
should_update_dashboard_tile_filters_hash = True
if not dashboard.filters or dashboard.filters == insight.filters:
should_update_insight_filters_hash = True
-
if should_update_dashboard_tile_filters_hash:
dashboard_tiles = DashboardTile.objects.filter(insight=insight, dashboard=dashboard,).exclude(
filters_hash=cache_key
@@ -155,11 +255,9 @@ def update_insight_cache(insight: Insight, dashboard: Optional[Dashboard]) -> Li
matching_tiles_with_no_hash = dashboard_tiles.filter(filters_hash=None).count()
statsd.incr("update_cache_queue.set_missing_filters_hash", matching_tiles_with_no_hash)
dashboard_tiles.update(filters_hash=cache_key)
-
if should_update_insight_filters_hash:
insight.filters_hash = cache_key
insight.save()
-
if should_update_insight_filters_hash or should_update_dashboard_tile_filters_hash:
statsd.incr(
"update_cache_item_set_new_cache_key",
@@ -171,10 +269,6 @@ def update_insight_cache(insight: Insight, dashboard: Optional[Dashboard]) -> Li
},
)
- result = update_cache_item(cache_key, cache_type, payload)
- insight.refresh_from_db()
- return result
-
def get_cache_type(filter: FilterType) -> CacheType:
if filter.insight == INSIGHT_FUNNELS:
@@ -193,99 +287,6 @@ def get_cache_type(filter: FilterType) -> CacheType:
return CacheType.TRENDS
-def update_cached_items() -> Tuple[int, int]:
- tasks = []
-
- # TODO: According to the metrics, on Cloud this is a huge list and needs to be improved
- dashboard_tiles = (
- DashboardTile.objects.filter(
- Q(dashboard__sharingconfiguration__enabled=True)
- | Q(dashboard__last_accessed_at__gt=timezone.now() - relativedelta(days=7))
- )
- .filter(
- # no last refresh date or last refresh not in last three minutes
- Q(last_refresh__isnull=True)
- | Q(last_refresh__lt=timezone.now() - relativedelta(minutes=3))
- )
- .exclude(dashboard__deleted=True)
- .exclude(insight__deleted=True)
- .exclude(insight__filters={})
- .exclude(Q(insight__refreshing=True) | Q(refreshing=True))
- .exclude(Q(insight__refresh_attempt__gt=2) | Q(refresh_attempt__gt=2))
- .select_related("insight", "dashboard")
- .order_by(F("last_refresh").asc(nulls_first=True), F("insight__last_refresh").asc(nulls_first=True))
- )
-
- for dashboard_tile in dashboard_tiles[0:PARALLEL_INSIGHT_CACHE]:
- insight = dashboard_tile.insight
- logger.info(
- "update_cache_queue.attempting_tile",
- insight_id=insight.id,
- dashboard_id=dashboard_tile.dashboard.id,
- last_refresh=dashboard_tile.last_refresh,
- filters_hash=dashboard_tile.filters_hash,
- )
- try:
- cache_key, cache_type, payload = insight_update_task_params(insight, dashboard_tile.dashboard)
- tasks.append(update_cache_item_task.s(cache_key, cache_type, payload))
- except Exception as e:
- # to avoid splitting the queryset above, update refresh attempt on both tile and insight
- insight.refresh_attempt = (insight.refresh_attempt or 0) + 1
- insight.save(update_fields=["refresh_attempt"])
- dashboard_tile.refresh_attempt = (dashboard_tile.refresh_attempt or 0) + 1
- dashboard_tile.save(update_fields=["refresh_attempt"])
-
- capture_exception(e)
-
- shared_insights = (
- Insight.objects.filter(sharingconfiguration__enabled=True)
- .exclude(deleted=True)
- .exclude(filters={})
- .exclude(refreshing=True)
- .exclude(refresh_attempt__gt=2)
- .order_by(F("last_refresh").asc(nulls_first=True))
- )
-
- for insight in shared_insights[0:PARALLEL_INSIGHT_CACHE]:
- try:
- cache_key, cache_type, payload = insight_update_task_params(insight)
- tasks.append(update_cache_item_task.s(cache_key, cache_type, payload))
- except Exception as e:
- insight.refresh_attempt = (insight.refresh_attempt or 0) + 1
- insight.save(update_fields=["refresh_attempt"])
- capture_exception(e)
-
- statsd.gauge("update_cache_queue.never_refreshed", dashboard_tiles.filter(last_refresh=None).count())
-
- oldest_previously_refreshed_tiles: List[DashboardTile] = list(
- dashboard_tiles.exclude(last_refresh=None)[0:PARALLEL_INSIGHT_CACHE]
- )
- for candidate_tile in oldest_previously_refreshed_tiles:
- dashboard_cache_age = (datetime.datetime.now(timezone.utc) - candidate_tile.last_refresh).total_seconds()
-
- statsd.gauge(
- "update_cache_queue.dashboards_lag",
- round(dashboard_cache_age),
- tags={
- "insight_id": candidate_tile.insight_id,
- "dashboard_id": candidate_tile.dashboard_id,
- "cache_key": candidate_tile.filters_hash,
- },
- )
-
- logger.info("update_cache_queue", length=len(tasks))
- taskset = group(tasks)
- taskset.apply_async()
-
- # this is the number of cacheable items that match the query
- queue_depth = dashboard_tiles.count() + shared_insights.count()
- statsd.gauge("update_cache_queue_depth.shared_insights", shared_insights.count())
- statsd.gauge("update_cache_queue_depth.dashboards", dashboard_tiles.count())
- statsd.gauge("update_cache_queue_depth", queue_depth)
-
- return len(tasks), queue_depth
-
-
def insight_update_task_params(insight: Insight, dashboard: Optional[Dashboard] = None) -> Tuple[str, CacheType, Dict]:
filter = get_filter(data=insight.dashboard_filters(dashboard), team=insight.team)
cache_key = generate_cache_key("{}_{}".format(filter.toJSON(), insight.team_id))
From 225a41db7219f5dfe64dad9e0897de2608855ce8 Mon Sep 17 00:00:00 2001
From: Harry Waye
Date: Thu, 21 Jul 2022 15:29:31 +0100
Subject: [PATCH 134/213] chore(dev): use network mode host for docker-compose
services (#10917)
* chore(dev): use network mode host for docker-compose services
This removes the need to add kafka to /etc/hosts.
As far as I can tell this should be fine for peoples local dev except
they will be required to reset and re-migrate ClickHouse tables as they
will be trying to pull from `kafka` instead of `localhost`.
* remove ports from redis
* Update a few more references
---
.devcontainer/.env | 12 ++++---
.github/actions/run-backend-tests/action.yml | 4 ---
.github/workflows/ci-async-migrations.yml | 4 ---
.github/workflows/ci-plugin-server.yml | 5 +--
.github/workflows/docker-image-test.yml | 2 +-
.test_durations | 2 +-
bin/e2e-test-runner | 2 +-
bin/plugin-server | 2 +-
docker-compose.dev.yml | 28 ++++++----------
docker/clickhouse/config.xml | 2 +-
plugin-server/src/config/config.ts | 2 +-
plugin-server/tests/queue.test.ts | 2 +-
.../test_0004_replicated_schema.ambr | 32 +++++++++----------
...test_0005_person_collapsed_by_version.ambr | 2 +-
...test_0005_person_replacing_by_version.ambr | 2 +-
.../test/__snapshots__/test_schema.ambr | 18 +++++------
posthog/settings/data_stores.py | 2 +-
17 files changed, 52 insertions(+), 71 deletions(-)
diff --git a/.devcontainer/.env b/.devcontainer/.env
index 4ab94d042a33e3..43cc87d86ce8e4 100644
--- a/.devcontainer/.env
+++ b/.devcontainer/.env
@@ -2,7 +2,7 @@
DEBUG=1
# Make psql default to local settings
-PGHOST=db
+PGHOST=localhost
PGUSER=posthog
PGPASSWORD=posthog
PGPORT=5432
@@ -13,14 +13,16 @@ PGDATABASE=posthog
## Update to postgres to use postgres for all event queries
PRIMARY_DB=clickhouse
DATABASE_URL=postgres://${PGUSER}:${PGPASSWORD}@${PGHOST}:${PGPORT}/${PGDATABASE}
+
+# Kafka settings
KAFKA_ENABLED=true
-KAFKA_HOSTS=kafka:9092
-REDIS_URL=redis://redis:6379
+KAFKA_HOSTS=localhost:9092
+KAFKA_URL=kafka://localhost:9092
# Clickhouse settings
-CLICKHOUSE_HOST=clickhouse
+CLICKHOUSE_HOST=localhost
CLICKHOUSE_DATABASE=posthog_test
CLICKHOUSE_VERIFY=False
# Setup redis config
-REDIS_URL=redis://redis:6379/
\ No newline at end of file
+REDIS_URL=redis://localhost:6379/
diff --git a/.github/actions/run-backend-tests/action.yml b/.github/actions/run-backend-tests/action.yml
index 40d9bcc7b05d73..42904006cacec1 100644
--- a/.github/actions/run-backend-tests/action.yml
+++ b/.github/actions/run-backend-tests/action.yml
@@ -39,10 +39,6 @@ runs:
docker-compose -f docker-compose.dev.yml down
docker-compose -f docker-compose.dev.yml up -d
- - name: Add Kafka to /etc/hosts
- shell: bash
- run: echo "127.0.0.1 kafka" | sudo tee -a /etc/hosts
-
- name: Set up Python
uses: actions/setup-python@v2
with:
diff --git a/.github/workflows/ci-async-migrations.yml b/.github/workflows/ci-async-migrations.yml
index 35d72cff6aa8d6..0e4b77c7df1bce 100644
--- a/.github/workflows/ci-async-migrations.yml
+++ b/.github/workflows/ci-async-migrations.yml
@@ -61,10 +61,6 @@ jobs:
python -m pip install -r requirements-dev.txt
python -m pip install -r requirements.txt
- - name: Add kafka host to /etc/hosts for kafka connectivity
- shell: bash
- run: sudo echo "127.0.0.1 kafka" | sudo tee -a /etc/hosts
-
- name: Set up needed files
shell: bash
run: |
diff --git a/.github/workflows/ci-plugin-server.yml b/.github/workflows/ci-plugin-server.yml
index 0b9572566b7c7a..5764d8c125fec3 100644
--- a/.github/workflows/ci-plugin-server.yml
+++ b/.github/workflows/ci-plugin-server.yml
@@ -63,7 +63,7 @@ jobs:
REDIS_URL: 'redis://localhost'
CLICKHOUSE_HOST: 'localhost'
CLICKHOUSE_DATABASE: 'posthog_test'
- KAFKA_HOSTS: 'kafka:9092'
+ KAFKA_HOSTS: 'localhost:9092'
steps:
- name: Code check out
@@ -74,9 +74,6 @@ jobs:
docker-compose -f docker-compose.dev.yml down
docker-compose -f docker-compose.dev.yml up -d
- - name: Add Kafka to /etc/hosts
- run: echo "127.0.0.1 kafka" | sudo tee -a /etc/hosts
-
- name: Set up Python
uses: actions/setup-python@v2
with:
diff --git a/.github/workflows/docker-image-test.yml b/.github/workflows/docker-image-test.yml
index 476ea28f15a607..ac700f61b3cde7 100644
--- a/.github/workflows/docker-image-test.yml
+++ b/.github/workflows/docker-image-test.yml
@@ -131,7 +131,7 @@ jobs:
SECRET_KEY=6b01eee4f945ca25045b5aab440b953461faf08693a9abbf1166dc7c6b9772da
REDIS_URL=redis://localhost
DATABASE_URL=postgres://posthog:posthog@localhost:5432/posthog
- KAFKA_URL=kafka://kafka:9092
+ KAFKA_URL=kafka://localhost:9092
DISABLE_SECURE_SSL_REDIRECT=1
SECURE_COOKIES=0
OPT_OUT_CAPTURE=1
diff --git a/.test_durations b/.test_durations
index 50e603e95c0364..56984eb5a5e8c8 100644
--- a/.test_durations
+++ b/.test_durations
@@ -1 +1 @@
-{"ee/api/test/test_capture.py::TestCaptureAPI::test_determine_team_from_request_data_ch": 3.4122722329999533, "ee/api/test/test_capture.py::TestCaptureAPI::test_produce_to_kafka": 0.15640384599998924, "ee/api/test/test_capture.py::TestCaptureAPI::test_unable_to_fetch_team": 0.02767883699993945, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_allowed_for_project_member": 0.3054151560000946, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_org_admin": 0.0507530999999517, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_project_outsider": 0.04411500799994883, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_shared_dashboard_in_private_project": 0.07278180200000861, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_create_event_definition": 0.3000420400001076, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_existing_event_definition": 0.051290033000100266, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_search_event_definition": 0.12399333000018942, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_definition": 0.058352151000008234, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_without_license": 0.04512456800023301, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_with_expired_license": 0.04844436400014729, "ee/api/test/test_hooks.py::TestHooksAPI::test_create_hook": 0.4614861830001473, "ee/api/test/test_hooks.py::TestHooksAPI::test_create_hook_with_resource_id": 0.24908502599987514, "ee/api/test/test_hooks.py::TestHooksAPI::test_delete_hook": 0.24549151300004723, "ee/api/test/test_license.py::TestLicenseAPI::test_can_create_license": 0.2613849530000607, "ee/api/test/test_license.py::TestLicenseAPI::test_can_list_and_retrieve_licenses": 0.03875799099989763, "ee/api/test/test_license.py::TestLicenseAPI::test_friendly_error_when_license_key_is_invalid": 0.03096323099998699, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_organization": 0.39356956799997533, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_two_similarly_named_organizations": 0.08080907700013995, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_last_organization": 0.12931684499994844, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_organization_owning": 0.10213543700001537, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_second_managed_organization": 0.11091855899985603, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_has_license": 0.023947615999986738, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_license_expired": 0.1589728980000018, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_no_license": 0.017647444000090218, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_belonging_to": 0.07041076400003021, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_owning": 0.043380664999972396, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_update_organization_not_belonging_to": 0.06928309499994612, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_update_org": 0.14897150600017994, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_filter_property_definitions": 0.2764710449998802, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_create_property_definition": 0.05701777100000527, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_existing_property_definition": 0.04555449299994052, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_search_property_definition": 0.11548352700003761, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_definition": 0.053584268000008706, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_without_license": 0.0414815520001639, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_with_expired_license": 0.0471586879999677, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_create_project": 0.29927609399999255, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_open_team_as_org_member_but_project_admin_forbidden": 0.25988916499977677, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_private_team_as_org_member_but_project_admin_allowed": 0.31280061100017065, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_second_team_as_org_admin_allowed": 0.2947191270000076, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_admin_allowed": 0.28631400100005067, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_member_forbidden": 0.24558740699990267, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_admin_allowed": 0.2501691469998377, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_and_project_admin_forbidden": 0.24232559099993978, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_forbidden": 0.2495731799999703, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_admin_allowed": 0.24469330299996273, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_and_project_admin_forbidden": 0.24642732299992076, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_forbidden": 0.2338159949999863, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_nonexistent_team": 0.23022938799999793, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member": 0.24045527900000252, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_admin": 0.23917950299994573, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_member": 0.23673856300013085, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_admin_works": 0.24385007400007908, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_member_works": 0.23670156100001805, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_outsider": 0.23722019199988154, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_list_teams_restricted_ones_hidden": 0.24700385400001323, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_administrating_organization": 0.24993142500011345, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_belonging_to_organization": 0.4943581330001052, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_non_admin_cannot_create_project": 0.23412531200006015, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_and_project_member_allowed": 0.2504248530000268, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_forbidden": 0.2445900170000641, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_current_as_org_outsider_forbidden": 0.2498482190001141, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_id_as_org_outsider_forbidden": 0.249083574999986, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_project_as_org_member_allowed": 0.25004543100010324, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_user_that_does_not_belong_to_an_org_cannot_create_a_project": 0.25705173500000456, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_org_admin_allowed": 0.2962390970000115, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_admin_allowed": 0.2696964650000382, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_member_forbidden": 0.25836881099985476, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_allowed": 0.26233274999992773, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_and_project_member_allowed": 0.2789111210000783, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_and_project_member_forbidden": 0.24943651699993552, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_but_project_admin_allowed": 0.2690339479999011, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_forbidden": 0.25450550900006874, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_owner_allowed": 0.26489671000001636, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_current_project_allowed": 0.2612459989999252, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_private_project_forbidden": 0.26404286000001775, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_nonexistent_project_forbidden": 0.24467664100018283, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_in_outside_organization_forbidden": 0.27798216600001524, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_that_is_not_organization_member_forbidden": 0.2871032939998486, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_admin_forbidden": 0.25712405999991006, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_member_forbidden": 0.2535015509999994, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_demote_yourself_as_org_member_and_project_admin_forbidden": 0.27120667400004095, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_allowed": 0.24760580999998183, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_member": 0.2570391560000189, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_organization_outsider": 0.2384900839999773, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_project_outsider": 0.25019495799995184, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_admin_allowed": 0.2622965599999816, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_allowed": 0.24929880699994555, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_but_project_admin_allowed": 0.25404128200011655, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_but_project_admin_allowed": 0.2635854330000029, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_forbidden": 0.25542446300005395, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_owner_allowed": 0.28908850899995286, "ee/clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class": 0.2780182679999825, "ee/clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class_edge_cases": 0.2532993400000123, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_backfilling_data": 2.2649386519999553, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_caching_and_materializing": 2.04398621200005, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_column_types": 1.8644900170000938, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_get_columns_default": 1.2085611839999046, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_materialized_column_naming": 1.9727072100000669, "ee/clickhouse/models/test/test_action.py::TestActions::test_attributes": 0.305633364000073, "ee/clickhouse/models/test/test_action.py::TestActions::test_empty_selector_same_as_null": 0.28807818400002816, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_events_by_url": 0.4100594940001656, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_direct_decendant_ordering": 0.3475152020001815, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_id": 0.3337548340000467, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nested": 0.3481742389999454, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nth_child": 0.32776429999989887, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_star": 0.3322757509998837, "ee/clickhouse/models/test/test_action.py::TestActions::test_no_person_leakage_from_other_teams": 0.2969962819998955, "ee/clickhouse/models/test/test_action.py::TestActions::test_no_steps": 0.2747047359999897, "ee/clickhouse/models/test/test_action.py::TestActions::test_person_property": 0.363022767999837, "ee/clickhouse/models/test/test_action.py::TestActions::test_person_with_different_distinct_id": 0.2866569039999831, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class": 0.27128364600002897, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_slashes": 0.2590381620001381, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_symbols": 0.2545901150000418, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_normal_filters": 0.3334807189999083, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_double": 0.30025336300002436, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_contains_url": 0.2780357220000269, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_exact_url": 0.28150251600004594, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_regex_url": 0.27450472600003195, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_clickhouse_empty_query": 0.3938014860001431, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_change": 1.2360476100000142, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_get_person_ids_by_cohort_id": 0.42909032500006106, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_basic": 1.0718043900001248, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_count": 1.7655990750000683, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic": 0.7087321549998933, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_deleted_person": 1.3573256099999753, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_prop_changed": 1.2782052049999493, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_timestamp": 0.6951178630000641, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_cyclic_cohort_filter": 0.6537181539999892, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_nonexistent_other_cohort_filter": 0.6918364830000883, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_valid_other_cohort_filter": 2.225866351000036, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_insert_by_distinct_id_or_email": 0.6286306940000941, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic": 0.3631944469999553, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action": 0.3576625179999837, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action_days": 0.4586738120000291, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_event_days": 0.4226943759998676, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_multiple_groups": 0.3471757960001014, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_with_negation": 0.32518419199993787, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_static_cohort_precalculated": 0.6061559610000131, "ee/clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_direct_table_insert": 0.2981627890000027, "ee/clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_kafka_insert": 2.218743123999957, "ee/clickhouse/models/test/test_element.py::TestClickhouseElement::test_broken_class_names": 0.23260135600003196, "ee/clickhouse/models/test/test_element.py::TestClickhouseElement::test_elements_to_string": 0.22320260800006508, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_old_style_properties": 0.21912436899992827, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_recursive_cohort": 0.01232651899999837, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_cohorts": 0.4339205880000918, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities": 0.008252580999965176, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_hasdone_cohort": 0.007858159000079468, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_multi_group_cohort": 0.008058771000037268, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_no_such_cohort": 0.006307767000066633, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_not_ee": 0.005643428000212225, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_static_cohort": 0.0074344329999576075, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_test_accounts": 0.006698390000110521, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_to_dict": 0.0066974900000786874, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters": 0.2694861039999523, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_contains": 0.2643305039999859, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain": 0.278087206999885, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_element_filter": 0.29178920400011066, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_element_selectors": 0.25283833499997854, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members": 0.3447479909999629, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_incomplete_data": 0.20135673399988718, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex": 0.26393098100015777, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not": 0.2742751830000998, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set": 0.2779347969999435, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false": 0.25105193100012, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_json_object": 0.3020324010000195, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_multiple": 0.2585057640000059, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality": 0.2842406639999808, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_numerical": 0.31012587399993663, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_person_cohort_properties": 0.3752441679999947, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_regex": 0.26722437300009005, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_simple": 0.2769401400000788, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_true_false": 0.2753736470001513, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties": 0.4389398800000208, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties_numerical": 0.3932783100000279, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_old_style_properties": 0.2369076289999157, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_simplify_test_accounts": 0.007483224999873528, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_to_dict": 0.0066589779999048915, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_limit_works": 0.25374748299987004, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_search_works": 0.039133418000005804, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_simple_log_is_fetched": 0.02878853100003198, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_decimals": 0.38779598199994325, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element": 0.5515377639999315, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_event": 0.3317341040000201, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_ints_saved_as_strings": 0.4109128919999421, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_person": 0.3209162919999926, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized": 0.8594906179999953, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized_ints": 0.3324483449999889, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_person_denormalized": 0.4328515360000438, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property0-expected_event_indexes0]": 0.2957624640000631, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property1-expected_event_indexes1]": 0.3074024239999744, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property2-expected_event_indexes2]": 0.3323187369999232, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property3-expected_event_indexes3]": 0.2961423860000423, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property4-expected_event_indexes4]": 0.290731378999908, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property5-expected_event_indexes5]": 0.29532083900005546, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property6-expected_event_indexes6]": 0.28774381200003063, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property7-expected_event_indexes7]": 0.2889992819999634, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property8-expected_event_indexes8]": 0.2845401279998896, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property9-expected_event_indexes9]": 0.28303444099992703, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property0-expected_event_indexes0]": 0.7811942019999378, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property1-expected_event_indexes1]": 0.3160298430000239, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property2-expected_event_indexes2]": 0.3157902299997204, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property3-expected_event_indexes3]": 0.3040580560000308, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property4-expected_event_indexes4]": 0.30667290600001706, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property5-expected_event_indexes5]": 0.3067553119999502, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property6-expected_event_indexes6]": 0.30191623200005324, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property7-expected_event_indexes7]": 0.3393605830000297, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property8-expected_event_indexes8]": 0.321160137999982, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property9-expected_event_indexes9]": 0.31001489799996307, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.078508217000035, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.783673001000011, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.012095904000148, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown": 4.043667342999925, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown_materialized": 5.420725929000014, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event": 1.989234081999939, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_materialized": 3.1571343780000234, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type": 2.013538778000111, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.988358690000041, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.43275230200004, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.2715992219999634, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 1.7754772360001425, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other": 2.006685664000088, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.015030266999929, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit": 3.2913461809999944, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit_materialized": 5.136119527999881, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person": 2.735624440000038, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person_materialized": 3.868653906000077, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.491645050000102, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 3.162512784000114, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.832301138000048, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.3501407210000025, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_step_conversion_times": 0.6657537549998551, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_times_with_different_conversion_windows": 1.4371063159999267, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_with_multiple_incomplete_tries": 0.8414155469999969, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_exclusions_between_steps": 6.19118383, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_multiple_exclusions_between_steps": 5.235706039999968, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps": 3.5177383219999, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps_out_of_order_events": 3.6297619970000596, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_default_funnel_days": 0.4311247259998936, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps": 0.9098471130000689, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps_materialized": 1.4736193389999244, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_step_updated_param": 1.1744274700000688, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_steps": 0.8256870169998365, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_conversion_window": 1.941807888999847, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_default": 0.457138329999907, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_events": 1.497510004999981, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusion_no_end_event": 1.0378132280000045, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_full_window": 0.9682012870000563, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_invalid_params": 0.21746392000000014, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions": 1.0386791759999596, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions_materialized": 1.463662830999965, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties": 0.8201529910002137, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties_materialized": 1.0440497829998776, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts": 0.547256755999797, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts_materialized": 0.6288645909999104, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions": 0.6093829610000512, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions_materialized": 0.8101937129999897, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_no_events": 0.22958222099998693, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop": 0.6995953959999497, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop_materialized": 0.9251103810000814, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters": 0.6936022520000051, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_materialized": 0.9841340140000057, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity": 0.7868983670000489, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity_materialized": 1.0498301260000744, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_skipped_step": 0.5648429799999803, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions": 1.0159573589999127, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events": 0.0022172279999495004, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events_materialized": 0.22825194799997917, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_materialized": 1.4004982760000075, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_denormalised_properties": 0.5107160390001582, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_elements_chain": 1.4146405200000345, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters": 0.5841914230001066, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters_materialized": 0.6993902919999755, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties": 3.7941916690000426, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties_materialized": 5.831684114000041, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_single_step": 0.43438579700000446, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_events": 4.385965505000058, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties": 1.8310647380001228, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties_materialized": 2.4829929260000654, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties": 3.0872295520000534, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties_materialized": 4.024911208000162, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_properties_raises_validation_error": 0.2877717890000895, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_discarding_insignificant_events": 1.6137499870001193, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_events_within_conversion_window_for_correlation": 0.7259028970000827, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties": 3.0256051159999515, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture": 2.5083253620000505, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture_materialized": 4.304017837999822, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_exclusions": 1.6548500520000289, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_materialized": 4.7832929839999, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_no_divide_by_zero_errors": 0.8458349899999575, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationPersons::test_basic_funnel_correlation_with_events": 3.3022785139999087, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationPersons::test_people_arent_returned_multiple_times": 0.6194627189997846, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_basic_offset": 7.4679280629998175, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step": 2.0018184030000157, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person": 2.707419863000041, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person_materialized": 3.9608897980003803, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns": 1.7009337240001514, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_materialized": 2.5235194669999146, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons": 0.7514521130001413, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons_materialized": 0.9805009030003475, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step": 2.0504414980000547, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step_dropoff": 1.9935798980000072, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_second_step_dropoff": 1.9569046689998686, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_are_equivalent_to_funnel_step": 4.226075908999974, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_overrides_funnel_step": 1.9434825630000887, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_where_funnel_step_equivalence_isnt_possible": 2.7207068549998894, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.1236643930001264, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.5644911669999146, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.076353946999916, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown": 4.847956962999888, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown_materialized": 6.175481664000245, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event": 1.7884084490001442, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_materialized": 2.4616166979999434, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type": 1.669936473000007, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.418227381000179, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.4016006029999062, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4593288470000516, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.0258372070002224, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other": 1.74509642299995, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 2.5626580629998443, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit": 3.385648183000285, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 4.914983846999803, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person": 2.2608127130001776, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person_materialized": 3.3384852640001554, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.5820777789999738, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 2.7351081209999393, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.016051214999834, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.176098355000022, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_strict_breakdown_events_with_multiple_properties": 1.471916070999896, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_step_conversion_times": 0.6682651129999613, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_times_with_different_conversion_windows": 1.4293016009999064, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 0.7461131239999759, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_advanced_strict_funnel": 2.4217684980001195, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel": 1.5853855069999554, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel_conversion_times": 1.216331930000024, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_first_step": 2.2074801200001275, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step": 2.0549394879999454, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step_dropoff": 2.1008856820001256, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_third_step": 2.021816102999992, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step": 2.7636818409998796, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step_duplicate_events": 0.0019620119999217422, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_total": 4.720440585999995, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_strict": 2.534608437000088, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_unordered": 6.098391111999945, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_custom_bin_count_single_step": 2.1733683489999294, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_date_range": 0.9503746010000214, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_results_for_day_interval": 0.8864150009999321, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_day_interval": 0.8417590869999003, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_from_second_step": 0.70795024500012, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_event": 0.7512618979997114, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_person": 0.8645953449997705, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_trend_cohort_breakdown": 1.0014512499999455, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_hour_interval": 0.5218155439997645, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_month_interval": 0.8407360670000799, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_no_event_in_period": 0.5214756240002316, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows": 1.2615565769997374, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_strict_funnel": 0.6489340870000433, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_unordered_funnel": 2.179022748000307, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_only_one_user_reached_one_step": 1.3171744910000598, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_period_not_final": 0.5554782740000519, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_steps_performed_in_period_but_in_reverse": 0.5603675560000738, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_to_second_step": 0.6995264180002323, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_two_runs_by_single_user_in_one_period": 0.5826955500001532, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_week_interval": 0.8130320910001956, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_window_size_one_day": 0.8851428680000026, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.106617993999862, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.6001500820000274, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.0399460520000048, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown": 7.9801272100000915, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown_materialized": 10.960380491000024, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event": 3.9825215820001176, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_materialized": 6.1375313139999434, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type": 4.114238796999871, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 5.858587421000038, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 2.4665159210001093, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4768252750002375, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 1.979720714999985, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other": 4.212692176000019, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 6.207084612000244, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit": 3.7916767340000206, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 5.7921931400001085, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person": 6.225573549000046, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person_materialized": 9.011092076000068, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 2.5194896080004128, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 6.134760683999957, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 8.977437395000152, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 3.4509319530000084, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_step_conversion_times": 0.9826531189996786, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_times_with_different_conversion_windows": 2.3925724220000575, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 1.4762856330000886, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_advanced_funnel_multiple_exclusions_between_steps": 9.308819315000164, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel": 4.205654740999762, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel_conversion_times": 2.7140712579998763, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_big_multi_step_unordered_funnel": 5.020607273000223, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_full_window": 1.501802815000019, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_invalid_params": 0.22715396200010218, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_single_event_unordered_funnel": 0.512372287000062, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_first_step": 2.5514231310000923, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_invalid_steps": 0.3232778290000624, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step": 2.351788750999958, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step_dropoff": 2.3722616219999964, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_second_step_dropoff": 2.3780847600000925, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots": 5.355217191000293, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots_with_specific_limit_and_offset": 3.079139939999777, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata": 0.29487378700014233, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_does_not_leak_teams": 0.2997519719999673, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_chunked_snapshots": 3.3678246719998697, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_non_existant_session_id": 0.24665759399999843, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots": 0.2789712670000881, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_does_not_leak_teams": 0.26176136999993105, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_with_no_such_session": 0.21774591899975348, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter": 0.6400951939999686, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_filters_at_once": 0.42132641600005627, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys": 0.27893696599994655, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys_with_entity_filter": 0.34368251799969585, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query": 0.2925046510001721, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_from_filter": 0.3438917290000063, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_to_filter": 0.32966690500006735, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_duration_filter": 0.34795046499993987, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter": 0.45357068500015885, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties": 0.47338933400033056, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_multiple_event_filters": 0.4976994430001014, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_pagination": 0.43227315100011765, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_person_id_filter": 0.3301338090000172, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_that_spans_time_bounds": 0.26656822999984797, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_without_fullsnapshot_dont_appear": 0.2763639970000895, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recordings_dont_leak_data_between_teams": 0.2823512440002105, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_teams_dont_leak_event_filter": 0.34781993300020986, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props": 0.4240229439997165, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_materialized": 0.9909760599998663, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_with_entity_filter": 1.0490752230000453, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_materialized_columns_checks": 0.5671407290001298, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter": 0.2245541970000886, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter_with_actions": 0.22966599400001542, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column": 0.22840512099992338, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column_with_actions": 0.2599629470000764, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_account_filters": 0.5829281419999006, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_action_with_person_property_filter": 0.4718200100001013, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_basic_event_filter": 0.31612289800000326, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_cohort_filter": 0.39950662499995815, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_denormalised_props": 0.4242033549999178, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_element": 0.3523264969999218, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_entity_filtered_by_cohort": 0.48358562899966273, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_event_properties_filter": 0.3767018349999489, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_person_properties_filter": 0.463810181999861, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_static_cohort_filter": 0.3803838469998482, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_filter_test_accounts": 2.412463325999852, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend": 0.9208094709997567, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_action": 0.9175159799997346, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_all_time": 0.9897915679998732, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_months": 0.9456509099998129, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people": 1.606526815999814, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people_paginated": 6.768739425000149, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_prop_filtering": 1.0175167859999874, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_weeks": 0.9423590289998174, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trends_distinct_id_repeat": 0.8061594349999268, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_current_url_paths_and_logic": 3.6759169970000585, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_custom_event_paths": 0.763400655000396, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties": 3.735884242999873, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_exclusion_filters_with_wildcards": 1.0389361179998104, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters": 2.402655961999926, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters_across_single_person": 1.5601282509999237, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff": 8.76244784299979, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step": 4.328247638000221, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_limit": 14.897552395000275, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_respects_conversion_window": 7.797880035000162, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_dropoff": 4.393292299999985, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_step": 4.380504735999921, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_between_step": 9.845762665000166, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping": 3.494847931000095, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement": 1.0172335239999484, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement_multiple": 1.2942971729999044, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_event_ordering": 4.323235831000147, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_across_people": 0.7331012700001338, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_with_evil_input": 0.6439357049996488, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_min_edge_weight": 4.122319311999945, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_removes_duplicates": 0.6541583969999465, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_respect_session_limits": 0.6215915100001439, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end": 0.758378329000152, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end_materialized": 1.0690749079999478, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_in_window": 0.7189631339999778, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_person_dropoffs": 5.0039126689996465, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_properties_filter": 0.784160909999855, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start": 1.464056790000086, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end": 2.967617168000288, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end_materialized": 3.84066483100014, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_dropping_orphaned_edges": 1.353246177000301, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_properties_queried_using_path_filter": 0.35585270899991883, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_screen_paths": 0.8873554930003138, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_conversion_times": 0.6841376240001864, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_limit": 3.160860169999978, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest": 0.010203489999867088, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_and_cross_edges": 0.007467431999884866, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_edges": 0.005494517999977688, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_no_start_point": 0.00558942400016349, "ee/clickhouse/queries/test/test_person_query.py::test_person_query": 0.4368775010000263, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_requested_fields": 0.4136416559999816, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_entity_filters": 0.40228060000026744, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_fields": 0.354152213000134, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_day_interval": 0.7009385969997766, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_filter_test_accounts": 0.7092255790000763, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_first_time_retention": 0.9082447040000261, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_hour_interval": 0.6466767550000441, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_interval_rounding": 0.6302381039997726, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_minute_interval": 0.22697304600023926, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_month_interval": 0.6517703499998788, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_action_start_point": 0.6284906020000562, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_default": 0.5861015469999984, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_event_action": 0.5865528729996186, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_graph": 0.6064644260000023, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_invalid_properties": 0.2471246139998584, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_multiple_events": 0.6558271859998968, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people": 0.5245372839999618, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_first_time": 0.8992322880001211, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period": 0.6224482549998811, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period_first_time": 1.0508572710000408, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_paginated": 13.451846693000107, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_properties": 0.6330848729999161, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_user_properties": 0.709399391000261, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_week_interval": 0.6508730020000257, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_recording_duration_gt": 0.40078271500010487, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_recording_duration_lt": 0.37407546899999033, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_unseen_recording": 0.3732756229999268, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_join_with_session_recordings": 0.442958157999783, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run": 0.3324381559998528, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_queries_with_specific_limit_and_offset": 1.956364721, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_sequential_next_urls": 1.975238716000149, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_session_with_chunks_with_partial_snapshots": 0.30553319799992096, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_with_no_sessions": 0.208793194999771, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_with_no_such_session": 0.2219356569996762, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_compare": 0.6779186700000537, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_filter_sessions_precalculated_cohort": 1.2336193620001268, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_filter_test_accounts": 0.8481924339996567, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_no_events": 0.31159995000007257, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_avg_length": 0.7265896900000826, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_avg_length_interval": 0.9591475619999983, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_count_buckets": 1.4210503179999705, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_count_buckets_default": 0.3002597940001124, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_compare": 0.5753936309999972, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_filter_test_accounts": 0.6387358009999389, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness": 0.6765714929997557, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_action": 0.5529603320001115, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_all_time": 0.5447607580001659, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_entity_filter": 0.5887713059998987, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_hours": 0.5313776819998566, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_minutes": 0.5078811199998654, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_months": 0.5075017989997832, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_endpoint": 0.5774776530001873, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_paginated": 6.452203972000007, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_with_entity_filter": 0.6119255020000764, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_prop_filter": 0.5259782159998849, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_weeks": 0.5320777679999082, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_filtering": 0.6119244049998542, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop": 0.46008807999987766, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop_materialized": 0.5614032770001813, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math": 0.5424876760000643, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math_action": 0.5361227050002526, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming": 0.616831904000037, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming_materialized": 0.831069374000208, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_all_time_timerange": 0.6304438960003154, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering": 0.7272097269999449, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_materialized": 1.1833845789999486, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency": 0.7260391600000276, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency_materialized": 0.9277226990000145, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_bar_chart_by_value": 0.5648162120003235, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math": 0.5580836759997965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math_materialized": 0.762654940999937, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort": 1.1284282610004084, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort_materialized": 1.6302445720000378, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_empty_cohort": 0.40686760299990965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property": 1.0271462860002885, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie": 0.6633727819998967, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie_materialized": 0.870781414000021, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_property_pie": 0.7684049740000773, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filter_by_precalculated_cohort": 1.074485413000275, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering": 0.8340111669999715, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value": 0.5817506379996757, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value_materialized": 1.0058639319997837, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit": 0.8280052180002713, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit_materialized": 1.0742279970002073, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_materialized": 1.0190874990000793, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons": 0.6013488749999851, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_materialized": 0.7752128560000529, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props": 0.6212501020002037, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props_materialized": 0.8715044020000278, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties": 0.5724082710000857, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_materialized": 0.9543476030000875, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_label": 0.2195561229998475, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts": 1.7884468370000377, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts_materialized": 2.3748965209999824, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort": 1.0713520359997801, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort_materialized": 1.5705844460001117, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter": 0.6439859859999615, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter_materialized": 0.858218523000005, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter": 0.46799335100013195, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_materialized": 0.5790036440000677, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter": 1.0415610800002923, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter_materialized": 1.6696368500001881, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains": 0.7134029829996962, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains_materialized": 0.9024537650000184, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_custom_range_timerange": 0.56093799700011, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_filtering": 0.8163742950000596, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering": 0.8898883530000603, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_materialized": 1.131941875999928, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter": 0.9319430889997875, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter_materialized": 1.2244472360002874, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_day_interval": 0.48737353499973324, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering": 0.5969085809999797, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering_materialized": 0.7802345590002915, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_by_precalculated_cohort": 0.9309820860000855, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort": 0.4568634940001175, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort_materialized": 0.5870807179999247, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts": 0.7691646369999035, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts": 0.472497697000108, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts_materialized": 0.5818420159998823, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_materialized": 1.0807327369998347, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props": 0.3790506990001177, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props_materialized": 0.464236020999806, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_hour_interval": 0.4573377229999096, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering": 1.0507267039999988, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown": 1.5440586730001087, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown_materialized": 2.089905372999965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding": 0.48139874299999974, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding_monthly": 0.4086538349999955, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last14days_timerange": 0.6118394870002248, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last24hours_timerange": 0.5267804679997425, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last30days_timerange": 0.6432717049995063, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last48hours_timerange": 0.5191334240003016, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last7days_timerange": 0.5162335569998504, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last90days_timerange": 0.8535810679998121, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering": 0.7589904149999711, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering_materialized": 0.9590031010004623, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering": 2.070088905000148, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering_materialized": 3.055939957999726, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering": 0.7582557840003119, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering_materialized": 0.9464221140001428, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_minute_interval": 0.43531238700006725, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_month_interval": 0.464955492999934, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_no_props": 0.34244773499972325, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering": 2.114751366000064, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering_materialized": 3.0940250989997367, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering": 2.177623440999696, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering_materialized": 3.0076593049998337, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering": 2.0972056709999833, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering_materialized": 3.0341006749999906, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering": 0.6560443570001553, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering_materialized": 0.8189616840002145, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering": 0.6127937549999842, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering_materialized": 0.7766661350001414, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_previous_month_timerange": 0.5889164729999266, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering": 0.5993743779999932, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering_materialized": 0.6753276719998667, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_response_empty_if_no_events": 0.48878588000025047, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering": 0.7307318769999256, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering_materialized": 0.9692971799997849, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_this_month_timerange": 0.6139141390001441, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_today_timerange": 0.46324101899995185, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate": 0.5484230519996345, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts": 0.7019290380001166, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts_materialized": 0.9196179389998633, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_math": 0.6495090020000589, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func": 1.5941470940001636, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func_materialized": 2.3929146379998656, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_compare": 0.7365247440002349, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_for_non_existing_action": 0.3446777579997615, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_math_without_math_property": 0.2193382999998903, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day": 0.6313969580000958, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_48hours": 0.649507506999953, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_cumulative": 0.5690370470001653, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties": 0.8107669440000791, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties_materialized": 1.0680490419999842, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_dau": 0.7057902659998945, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math": 0.5900429639998492, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math_materialized": 0.8434130340001502, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_week_interval": 0.4929843439997512, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_year_to_date_timerange": 0.6174393409999084, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_yesterday_timerange": 0.4836200270001427, "ee/clickhouse/queries/test/test_util.py::test_get_earliest_timestamp": 0.29817101799994816, "ee/clickhouse/queries/test/test_util.py::test_get_earliest_timestamp_with_no_events": 0.2513645149999775, "ee/clickhouse/queries/test/test_util.py::test_parse_breakdown_cohort_query": 0.3039989549999973, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown": 0.841712705999953, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_cohort": 0.9317270039998675, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_counts_of_different_events_one_without_events": 0.7110214580000047, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_mismatching_sizes": 0.8119365850002396, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_compare": 0.8700475400003143, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_cumulative": 0.6687702180001907, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_day_interval": 0.6479343139999401, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_event_properties": 0.670512018999716, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_formula": 1.9149967200000901, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_global_properties": 0.6656928499996866, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_hour_interval": 0.6610860820001108, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_interval_rounding": 0.4810090539999692, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_minute_interval": 0.6461675179998565, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_month_interval": 0.6366708680000102, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_multiple_events": 0.7242845410000882, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_pie": 0.6068751430000248, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_properties_with_escape_params": 0.6762701610000477, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_week_interval": 0.6385763780001525, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_calculate_usage": 0.48941504099957456, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_event_properties_or_related_updates_property_definitions": 17.938282477999792, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_team_events_or_related_updates_event_definitions": 17.887773481000067, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_cache_eviction": 0.10384061600007044, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_caching_client": 0.012063598999702663, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_client_strips_comments_from_request": 0.014801757999748588, "ee/clickhouse/test/test_middleware.py::TestQueryMiddleware::test_query": 0.919627182999875, "ee/clickhouse/test/test_system_status.py::test_system_status": 0.06140775799963194, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_cant_create_action_with_the_same_name": 0.280579556000248, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_action": 0.3841221569998652, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_action_event_with_space": 0.2676781090001441, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_from_other_domain": 0.4174442859998635, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_get_event_count": 0.3358408580002106, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_http_to_https": 0.2756131700000424, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_update_action": 0.3628241219996653, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_update_action_remove_all_steps": 0.27422708800008877, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_active_user_weekly_people": 0.49669747899997674, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_cohort_people_endpoint": 0.8055679569999938, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_event_property_none_people_endpoint": 0.6171466370001326, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_event_property_people_endpoint": 0.6151465210000424, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_person_property_nones_people_endpoint": 0.6349734699997498, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_person_property_people_endpoint": 0.6189495419996547, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_day_interval": 0.8621487249999973, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_day_interval_cumulative": 0.8869568599998274, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_filtering_by_person_properties": 0.5980624329999955, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_hour_interval": 1.2998724709998442, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_day": 0.5164292049998949, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_hour": 0.5088375650000216, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_minute": 0.540603310999586, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_month": 0.5334952069997598, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_rounding": 0.2244158010000774, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_week": 0.5511784299997089, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_is_calculating_always_false": 0.41297912399977577, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_minute_interval": 1.0859966129999066, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_month_interval": 1.1027875849999873, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_csv": 0.6013007340000058, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_cumulative": 3.879905554000061, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_endpoint_paginated": 6.516160944999683, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_week_interval": 1.0997417829998994, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_element_automatic_order": 0.24567542499994488, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_element_stats": 0.38568333099988195, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_event_property_values": 0.33916893700006767, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_action_no_steps": 0.2704922610000722, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_ascending_order_timestamp": 0.43596054199997525, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_before_and_after": 0.6830658480002967, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_custom_event_values": 0.3116981460000261, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_default_descending_order_timestamp": 0.43765403900010824, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_event_property_values": 0.5719874160001837, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_event_sessions_by_id": 0.7569591270000728, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_default_limit": 0.47848220300011235, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_maximum_limit": 0.4956198950003454, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_over_maximum_limit": 0.4748813940002492, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_with_param_limit": 0.47210443300036786, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_in_future": 0.38801796599977934, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_nonexistent_cohort_handling": 0.5705475319998641, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_sessions_basic": 2.2291892099997312, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_by_nonexisting_person": 0.28956448899998577, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_by_person": 0.3730495299998893, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events": 0.37916348499993546, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_event_name": 0.3557926289997795, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_precalculated_cohort": 1.1151705590000347, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_properties": 0.3800769369997852, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_event_by_id": 0.28024704900008146, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_events_with_specified_token": 0.41898639400005777, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_single_action": 0.2994937649998519, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_limit": 0.4069234950000009, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_live_action_events": 0.21391980299972602, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_optimize_query": 0.5271046619998287, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_pagination": 4.829561386000023, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_pagination_bounded_date_range": 0.8839354929998535, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_session_events": 0.5555353739998736, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_request_with_no_steps_doesnt_fail": 0.28954336800029523, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_with_properties": 1.866001870999753, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_funnel_steps": 0.9747470580000481, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_historical_events": 0.8163641040000584, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_picks_up_events_for_odds_ratios": 0.8725269580002077, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_is_partitioned_by_team": 1.3908437919999415, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_funnel_correlation_with_event_properties_autocapture": 1.1011329049999858, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_requires_authn": 0.22374276599998666, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_format": 0.9198618000000351, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination": 9.032663469999989, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination_with_deleted": 10.221104253000021, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdown_basic_pagination": 9.409283933999859, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdowns": 1.1256946669998342, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelCorrelationPersons::test_pagination": 2.089670500999773, "ee/clickhouse/views/test/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_basic_format": 1.2636994459996913, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_basic_results": 0.2775504460000775, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_cohort_without_match_group_works": 0.4303297689998544, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_create_insight_items": 0.259308904999898, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_favorited_insight_items": 0.268817546000264, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_insight_by_short_id": 0.26308806699989873, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_insight_items": 0.2720978520001154, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_saved_insight_items": 0.27116900499981966, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_funnels_basic_get": 0.47879737599987493, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_funnels_basic_post": 0.49228406199995334, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_paths_basic": 0.7083831629997803, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_refreshing": 0.6070565049997185, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_retention_basic": 0.49653408000017407, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_allowed_if_project_open_and_org_member": 0.32894644599991807, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_allowed_if_project_private_and_org_member_and_project_member": 0.32450302000029296, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_basic": 0.41227438999976584, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_breakdown_pagination": 0.9765281149998373, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_forbidden_if_project_private_and_org_member": 0.24129158499999903, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_with_specified_token": 0.48289658399971813, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_nonexistent_cohort_is_handled": 0.4262346999998954, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_precalculated_cohort_works": 1.166152067999974, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_save_new_funnel": 0.27401211699975647, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_update_insight": 0.25158690700027364, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_update_insight_filters": 0.005339832999879945, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_basic_exclusions": 0.5926136939999651, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_invalid_action_handled": 0.24875102399983007, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_invalid_exclusions": 0.7764534989998992, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_strict_basic_post": 0.5560231540000586, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins": 3.030403734999936, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins_strict": 2.56589407499996, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins_unordered": 6.546081921999985, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_basic_post": 0.6726990639997439, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_basic_post_backwards_compatibility": 0.6701449209997463, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_strict_basic_post": 0.7131270020001921, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_unordered_basic_post": 1.0597191010001552, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_unordered_basic_post": 0.7487043639998774, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format": 0.8736085649998131, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_get": 1.9474917909999476, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_post": 1.9541469329999472, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_path_start_key_constraints": 0.8670138430002226, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_start_point_constraints": 1.036400834999995, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination": 2.3215846449998025, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination_with_deleted": 9.344018170000027, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_path_types": 1.308208096000044, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_start_point": 1.2732035899998664, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_funnel_path_post": 2.038496304000091, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic": 0.6002012160001868, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic_exclusions": 0.6405020909999166, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_path_groupings": 1.209239086000025, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_cant_see_another_organization_pii_with_filters": 0.4052275730000474, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_delete_person": 0.6129477719998704, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_by_cohort": 0.488000435999993, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_id_or_uuid": 0.3056462429999556, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_is_identified": 0.33953578899991044, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_person_list": 0.42098698299992066, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_merge_people": 0.3687332920001154, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_cohorts": 0.7607554850001179, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_property_names": 0.3039750569998887, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_property_values": 0.3549387669997941, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_properties": 0.3662029980002899, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_return_non_anonymous_name": 0.3222630370000843, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_search": 0.3988302009997824, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_split_people_delete_props": 0.419703428000048, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_split_people_keep_props": 0.3861962799996945, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_default_limit_of_chunks": 0.49980106299994986, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_metadata_for_chunked_session_recording": 12.241319018000013, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_session_recordings": 0.36672320100001343, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_single_session_recording_metadata": 0.3308036099999754, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_snapshots_for_chunked_session_recording": 13.256453979999833, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_request_to_another_teams_endpoint_returns_401": 0.2726631450000241, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_doesnt_exist": 0.28683948700017936, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_for_user_with_multiple_distinct_ids": 0.36879256900033397, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_with_no_person": 0.3091373529998691, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recordings_dont_leak_teams": 0.3165090379998219, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_setting_viewed_state_of_session_recording": 0.6345090530001016, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_single_session_recording_doesnt_leak_teams": 0.3086119250001502, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_viewed_state_of_session_recording": 0.32080836199997975, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_interface": 0.008750657000064166, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce": 0.39514470500012067, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce_and_consume": 0.34149586099965745, "ee/tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_stickiness_cohort": 0.5154557079999904, "ee/tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort": 0.022596962000079657, "ee/tasks/test/test_org_usage_report.py::TestOrganizationUsageReport::test_event_counts": 1.1234756750000088, "ee/tasks/test/test_org_usage_report.py::TestOrganizationUsageReport::test_org_usage_report": 0.07461113699991984, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_error": 4.880100866000021, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_usage": 1.126898724000057, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageNoLicenseTest::test_no_license": 0.36430595899992113, "ee/tasks/test/test_status_report.py::TestStatusReport::test_instance_status_report_event_counts": 2.0849482789999456, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report": 0.1445598039995275, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_duplicate_distinct_ids": 0.18582451699990088, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_multiple_ids_per_person": 0.20238136500029213, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_plugins": 0.15370917099994585, "ee/clickhouse/models/test/test_property.py::test_parse_prop_clauses_defaults": 0.03579843300030916, "ee/clickhouse/queries/funnels/test/test_funnel.py::test_with_materialized_columns": 0.001733087999809868, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestCorrelationFunctions::test_are_results_insignificant": 0.002764541999795256, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::test_with_materialized_columns": 0.0018324939999274648, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::test_with_materialized_columns": 0.0014835750000656844, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::test_with_materialized_columns": 0.0018048920001092483, "ee/clickhouse/queries/test/test_breakdown_props.py::test_with_materialized_columns": 0.0016624840000076802, "ee/clickhouse/queries/test/test_paths.py::test_with_materialized_columns": 0.0028525469999749475, "ee/clickhouse/queries/test/test_trends.py::test_with_materialized_columns": 0.0017761909998625924, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error0-AttributeError-Foobar-None]": 0.002195511999843802, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error1-EstimatedQueryExecutionTimeTooLong-Estimated query execution time (34.5 seconds) is too long.-None]": 0.002550129999917772, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error2-CHQueryErrorSyntaxError-Code: 62.\\nSyntax error-62]": 0.0020832059999520425, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error3-CHQueryErrorUnknown-Code: 9999.\\nSyntax error-9999]": 0.17104966100009733, "api/test/test_action.py::TestActionApi::test_actions_does_not_nplus1": 1.5385470399999122, "api/test/test_action.py::TestActionApi::test_create_action_update_delete_tags": 0.19979837799996858, "api/test/test_action.py::TestActionApi::test_create_action_with_tags": 0.13023913199981507, "api/test/test_capture.py::TestCaptureAPI::test_capture_event_with_uuid_in_payload": 0.27399585199998455, "api/test/test_capture.py::TestCaptureAPI::test_determine_team_from_request_data_ch": 0.01760381199994754, "api/test/test_capture.py::TestCaptureAPI::test_kafka_connection_error": 0.027186072999938915, "api/test/test_capture.py::TestCaptureAPI::test_produce_to_kafka": 0.025731164000035278, "api/test/test_capture.py::TestCaptureAPI::test_unable_to_fetch_team": 0.027623076999930163, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_edit_restricted_dashboard_as_creator_who_is_project_member": 0.3191895410000143, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_edit_restricted_dashboard_as_other_user_who_is_project_admin": 0.07537858199998482, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_creator_who_is_project_admin": 0.06313130299997738, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_creator_who_is_project_member": 0.06172709499992379, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_other_user_who_is_project_admin": 0.08137712000007014, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_delete_restricted_dashboard_as_other_user_who_is_project_member": 0.07264446400006364, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_edit_restricted_dashboard_as_other_user_who_is_project_member": 0.0638485080000919, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_set_dashboard_to_restrict_editing_as_other_user_who_is_project_member": 0.06018178400006491, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_dashboard_restrictions_have_no_effect_without_license": 0.054030046000093535, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_allowed_for_project_member": 0.0719415599999138, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_org_admin": 0.058855876999928114, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_project_outsider": 0.03844774500009862, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_shared_dashboard_in_private_project": 0.07711219300006178, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_can_add_collaborator_to_edit_restricted_dashboard_as_creator": 0.319832045000112, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_can_remove_collaborator_from_restricted_dashboard_as_creator": 0.06164459400008582, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_from_other_org_to_edit_restricted_dashboard_as_creator": 0.09515990900001725, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_edit_restricted_dashboard_as_other_user": 0.056904363999933594, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_other_org_to_edit_restricted_dashboard_as_creator": 0.08776536200002738, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_unrestricted_dashboard_as_creator": 0.05438244900005884, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_yourself_to_restricted_dashboard_as_creator": 0.055766857000094205, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_remove_collaborator_from_restricted_dashboard_as_other_user": 0.055957756999987396, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_remove_collaborator_from_unrestricted_dashboard_as_creator": 0.05737026600002082, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_update_existing_collaborator": 0.1412758029998713, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_list_collaborators_as_person_without_edit_access": 0.0737501709999151, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_can_get_event_verification_data": 0.46998760500002845, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_cannot_update_verified_meta_properties_directly": 0.15155626899991148, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_create_event_definition": 0.059219778999931805, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_existing_event_definition": 0.05858937400000741, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_search_event_definition": 0.14544373000001087, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_definition": 0.08862286700002642, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_without_license": 0.04458428599991748, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_verify_then_unverify": 0.2303894730000593, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_verify_then_verify_again_no_change": 0.2604264650001369, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_with_expired_license": 0.059642080999879, "api/test/test_hooks.py::TestHooksAPI::test_create_hook": 0.4153403550001258, "api/test/test_hooks.py::TestHooksAPI::test_create_hook_with_resource_id": 0.24747178199993414, "api/test/test_hooks.py::TestHooksAPI::test_delete_hook": 0.25289331700003004, "api/test/test_insight.py::TestInsightEnterpriseAPI::test_cannot_delete_restricted_insight_as_other_user_who_is_project_member": 0.3030126390000305, "api/test/test_insight.py::TestInsightEnterpriseAPI::test_cannot_update_restricted_insight_as_other_user_who_is_project_member": 0.0702460490000476, "api/test/test_instance_settings.py::TestInstanceSettings::test_update_recordings_ttl_setting": 0.3128081999998358, "api/test/test_license.py::TestLicenseAPI::test_can_create_license": 0.27782517699995424, "api/test/test_license.py::TestLicenseAPI::test_can_list_and_retrieve_licenses": 0.03738143900011437, "api/test/test_license.py::TestLicenseAPI::test_friendly_error_when_license_key_is_invalid": 0.03446832000008726, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_organization": 0.291186062999941, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_two_similarly_named_organizations": 0.11064870799998516, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_last_organization": 1.0135875830000032, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_organization_owning": 0.9539744009999822, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_second_managed_organization": 0.9664851800000633, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_has_license": 0.025380661999975018, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_license_expired": 0.056076458000006824, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_no_license": 0.017713213000092765, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_belonging_to": 0.07732569400002376, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_owning": 0.045771792999971694, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_update_organization_not_belonging_to": 0.08863866599995163, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_update_org": 0.17792233899990606, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_can_set_and_query_property_type_and_format": 0.297793805000083, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_errors_on_invalid_property_type": 0.019766226000001552, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_filter_property_definitions": 0.07105585399983738, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_create_property_definition": 0.06638952500009054, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_existing_property_definition": 0.06487501499998416, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_search_property_definition": 0.2106401469999355, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_definition": 0.0785092020000775, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_without_license": 0.04914871400001175, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_with_expired_license": 0.049958920000108265, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_create_and_update_object_with_tags": 0.36589083999990635, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_create_with_tags": 0.08318813200003206, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_get_tags": 0.06868003900012809, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_resolve_overlapping_tags_on_update": 0.13269314799981657, "api/test/test_team.py::TestProjectEnterpriseAPI::test_can_update_and_retrieve_person_property_names_excluded_from_correlation": 0.28547822500001985, "api/test/test_team.py::TestProjectEnterpriseAPI::test_create_project": 0.2976090040000372, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_open_team_as_org_member_but_project_admin_forbidden": 0.25120040699994206, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_private_team_as_org_member_but_project_admin_allowed": 1.1634538400002157, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_second_team_as_org_admin_allowed": 1.139140483999995, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_admin_allowed": 1.1330490459999965, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_member_forbidden": 0.2597258609999926, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_admin_allowed": 0.2670117080000409, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_and_project_admin_forbidden": 0.2484690880000926, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_forbidden": 0.23870212499991794, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_admin_allowed": 0.2587440529999867, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_and_project_admin_forbidden": 0.24982839599999807, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_forbidden": 0.2531332169999132, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_nonexistent_team": 0.24415415999999368, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member": 0.25203671099984604, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_admin": 0.2721469390000948, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_member": 0.26472059100012757, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_admin_works": 0.24244704899990666, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_member_works": 0.25422212499995567, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_outsider": 0.2528684159999557, "api/test/test_team.py::TestProjectEnterpriseAPI::test_list_teams_restricted_ones_hidden": 0.2949890850001111, "api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_administrating_organization": 0.26110486900006435, "api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_belonging_to_organization": 0.5357178230000272, "api/test/test_team.py::TestProjectEnterpriseAPI::test_non_admin_cannot_create_project": 0.24182944500000758, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_and_project_member_allowed": 0.276011363000066, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_forbidden": 0.24782418300003428, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_current_as_org_outsider_forbidden": 0.25099710400002095, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_id_as_org_outsider_forbidden": 0.24668497600009687, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_project_as_org_member_allowed": 0.2717315359999475, "api/test/test_team.py::TestProjectEnterpriseAPI::test_user_that_does_not_belong_to_an_org_cannot_create_a_project": 0.24225644800014834, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_org_admin_allowed": 0.2793525839999802, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_admin_allowed": 0.2600340619999315, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_member_forbidden": 0.2463045739999643, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_allowed": 0.26004586199996993, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_and_project_member_allowed": 0.2666466030000265, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_and_project_member_forbidden": 0.25819924999996147, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_but_project_admin_allowed": 0.2616272720000552, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_forbidden": 0.2527792150000323, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_owner_allowed": 0.27260894000016833, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_current_project_allowed": 0.26557099499996184, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_private_project_forbidden": 0.2503179979999004, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_nonexistent_project_forbidden": 0.24157024199985244, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_in_outside_organization_forbidden": 0.27633936399990944, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_that_is_not_organization_member_forbidden": 0.2887145429999691, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_admin_forbidden": 0.2496074939999744, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_member_forbidden": 0.25026989799994226, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_demote_yourself_as_org_member_and_project_admin_forbidden": 0.26032516199984457, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_allowed": 0.23874632400008977, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_member": 0.24584666900011598, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_organization_outsider": 0.24233914700005244, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_project_outsider": 0.24035623499992198, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_admin_allowed": 0.2596780570000874, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_allowed": 0.25389352100012275, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_but_project_admin_allowed": 0.2645233890001464, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_current_project_no_access": 0.3648177290000376, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_but_project_admin_allowed": 0.2809614939999392, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_forbidden": 0.2503241979999302, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_owner_allowed": 0.26769050900009006, "clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class": 0.2929962700000033, "clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class_edge_cases": 0.27079402800006847, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_backfilling_data": 4.971888362999948, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_caching_and_materializing": 3.095315684999946, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_column_types": 2.9015278380001064, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_get_columns_default": 2.193842987000153, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_materialized_column_naming": 2.9913270799999054, "clickhouse/models/test/test_action.py::TestActions::test_attributes": 0.2988137449999613, "clickhouse/models/test/test_action.py::TestActions::test_empty_selector_same_as_null": 0.29273630599993794, "clickhouse/models/test/test_action.py::TestActions::test_filter_events_by_url": 0.41622951100009686, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_direct_decendant_ordering": 0.3384301040000537, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_id": 0.3254719199999272, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nested": 0.33171846000016103, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nth_child": 0.3160601490001227, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_star": 0.3236635309999656, "clickhouse/models/test/test_action.py::TestActions::test_no_person_leakage_from_other_teams": 0.34063595300006, "clickhouse/models/test/test_action.py::TestActions::test_no_steps": 0.2719697590000578, "clickhouse/models/test/test_action.py::TestActions::test_person_property": 0.36889805700013767, "clickhouse/models/test/test_action.py::TestActions::test_person_with_different_distinct_id": 0.3076948140000013, "clickhouse/models/test/test_action.py::TestActions::test_with_class": 0.30125937000002523, "clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_slashes": 0.2782861049998928, "clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_symbols": 0.2756813859999738, "clickhouse/models/test/test_action.py::TestActions::test_with_normal_filters": 0.35708307100003367, "clickhouse/models/test/test_action.py::TestActionFormat::test_double": 0.3136324599998943, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_contains_url": 0.2865217639999855, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_exact_url": 0.2793797120000363, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_regex_url": 0.2767224939999551, "clickhouse/models/test/test_cohort.py::TestCohort::test_clickhouse_empty_query": 0.5543252930000335, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_change": 0.9782817470000964, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_get_person_ids_by_cohort_id": 0.3894971050001459, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_basic": 0.7807200240000611, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_count": 2.2720838269999604, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic": 0.6589882369999032, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic_paginating": 41.78915190299995, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_deleted_person": 0.9414504290000423, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_prop_changed": 1.0530305590000353, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_timestamp": 0.5659470409998448, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_cyclic_cohort_filter": 0.5761093540002094, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_nonexistent_other_cohort_filter": 0.5895291050001106, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_valid_other_cohort_filter": 1.4936825730001146, "clickhouse/models/test/test_cohort.py::TestCohort::test_insert_by_distinct_id_or_email": 0.8271157049998692, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic": 0.4282670170000529, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action": 0.382926007000151, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action_days": 0.43042934300001434, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_event_days": 0.41711029200018856, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_multiple_groups": 0.3619348719998925, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_with_negation": 0.35164425499965546, "clickhouse/models/test/test_cohort.py::TestCohort::test_static_cohort_precalculated": 0.6329738210001778, "clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_direct_table_insert": 0.3093282789998284, "clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_kafka_insert": 2.705604937000089, "clickhouse/models/test/test_element.py::TestClickhouseElement::test_broken_class_names": 0.22932417999982135, "clickhouse/models/test/test_element.py::TestClickhouseElement::test_elements_to_string": 0.21458290800001123, "clickhouse/models/test/test_filters.py::TestFilters::test_old_style_properties": 0.2284083089998603, "clickhouse/models/test/test_filters.py::TestFilters::test_recursive_cohort": 0.012707051000006686, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_cohorts": 0.4420695439998781, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities": 0.008221897000112222, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities_with_group_math": 0.00597537099974943, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_funnel_entities_when_aggregating_by_group": 0.0047904560001370555, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_hasdone_cohort": 0.00756629000011344, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_multi_group_cohort": 0.007232887000100163, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_no_such_cohort": 0.005863469999894733, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_static_cohort": 0.007087383999987651, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_test_accounts": 0.006433877999825199, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_when_aggregating_by_group": 0.004580554000085613, "clickhouse/models/test/test_filters.py::TestFilters::test_to_dict": 0.006405177000033291, "clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters": 0.27473465899993244, "clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters_persons": 0.3048028149999027, "clickhouse/models/test/test_filters.py::TestFiltering::test_contains": 0.26397233100010453, "clickhouse/models/test/test_filters.py::TestFiltering::test_contains_persons": 0.3044517120004002, "clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain": 0.2898376369998914, "clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain_persons": 0.376624166000056, "clickhouse/models/test/test_filters.py::TestFiltering::test_element_filter": 0.2844423739998092, "clickhouse/models/test/test_filters.py::TestFiltering::test_element_selectors": 0.2531651020001391, "clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members": 0.36418391899997005, "clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members_persons": 0.3151888370000506, "clickhouse/models/test/test_filters.py::TestFiltering::test_incomplete_data": 0.2091799820000233, "clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex": 0.27116781600011564, "clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex_persons": 0.3187159810001958, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not": 0.288168818000031, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_persons": 0.30139687400014736, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set": 0.27984402000015507, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set_persons": 0.3057095260001006, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false": 0.27038610800013885, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false_persons": 0.2919430629999624, "clickhouse/models/test/test_filters.py::TestFiltering::test_json_object": 0.3149137350001183, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple": 0.2803240239998104, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality": 0.30460111299976234, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality_persons": 0.4215305000002445, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_persons": 0.3162789799998791, "clickhouse/models/test/test_filters.py::TestFiltering::test_numerical": 0.32342752399972596, "clickhouse/models/test/test_filters.py::TestFiltering::test_numerical_person_properties": 0.41265487500004383, "clickhouse/models/test/test_filters.py::TestFiltering::test_person_cohort_properties": 0.38604161300008855, "clickhouse/models/test/test_filters.py::TestFiltering::test_regex": 0.28057177800019417, "clickhouse/models/test/test_filters.py::TestFiltering::test_regex_persons": 0.335300031000088, "clickhouse/models/test/test_filters.py::TestFiltering::test_simple": 0.29235738399984257, "clickhouse/models/test/test_filters.py::TestFiltering::test_simple_persons": 0.35399515600011, "clickhouse/models/test/test_filters.py::TestFiltering::test_true_false": 0.27782483100008903, "clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties": 0.46952276399974835, "clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties_numerical": 0.4053115249998882, "clickhouse/models/test/test_filters.py::PGTestFilters::test_old_style_properties": 0.2377099709999584, "clickhouse/models/test/test_filters.py::PGTestFilters::test_simplify_test_accounts": 0.00769589000015003, "clickhouse/models/test/test_filters.py::PGTestFilters::test_to_dict": 0.0074164850000215665, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_limit_works": 0.2611102429998482, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_search_works": 0.033543089999739095, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_type_filter_works": 0.04158598499998334, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_simple_log_is_fetched": 0.030906861000175923, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups": 0.39470870000013747, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups_invalid_type": 0.22066217000019606, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups_persons": 0.6529506100000617, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_decimals": 0.38424777800014454, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element": 0.4768091559997174, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element_with_space": 0.2467280739999751, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_event": 0.3307820540001103, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_ints_saved_as_strings": 0.41509643799986407, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_person": 0.372027435000291, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_get_property_string_expr": 0.558604196000033, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized": 0.8733003930003633, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized_ints": 0.3213774989999365, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_person_denormalized": 0.44944057299971973, "clickhouse/models/test/test_property.py::test_parse_prop_clauses_defaults": 0.011038910999786822, "clickhouse/models/test/test_property.py::test_parse_groups_persons_edge_case_with_single_filter": 0.0219223190001685, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[$browser-events-prop-trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser')) AS prop]": 0.018359583999654205, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[breakdown1-events-value-array(trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser'))) AS value]": 0.018461683000168705, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[breakdown2-events-prop-array(trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser')),trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser_version'))) AS prop]": 0.033035830000017086, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property0-expected_event_indexes0]": 0.6079174520000379, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property1-expected_event_indexes1]": 0.6169437419998758, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property2-expected_event_indexes2]": 0.6309393799997451, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching a number only matches event index 4 from test_events]": 0.6085936580002453, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching on email is not a value matches all but the first event from test_events]": 0.6035813080000025, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching on email is not a value matches all but the first two events from test_events]": 0.6022713939998994, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property6-expected_event_indexes6]": 0.634538116000158, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property7-expected_event_indexes7]": 0.6228927910001403, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property8-expected_event_indexes8]": 0.6266716119998819, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching for email property not being set matches all but the first two events from test_events]": 0.6364778209999713, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching before a unix timestamp only querying by date]": 0.6187848100000792, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching after a unix timestamp only querying by date]": 0.6239442730000064, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching before a unix timestamp querying by date and time]": 0.6478049569998348, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching after a unix timestamp querying by date and time]": 0.634974005000231, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property14-expected_event_indexes14]": 0.6089837939998688, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[match after date only value against date and time formatted property]": 0.6479464600001847, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property16-expected_event_indexes16]": 0.6338227900002948, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property17-expected_event_indexes17]": 0.6584334850001596, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property18-expected_event_indexes18]": 0.6399794660001135, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property19-expected_event_indexes19]": 0.6415282810000917, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property20-expected_event_indexes20]": 0.6605258090000916, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property21-expected_event_indexes21]": 0.6297912429999997, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching a unix timestamp in seconds with fractional seconds after the decimal point]": 0.6040659119998963, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching unix timestamp in milliseconds after a given date (which ClickHouse doesn't support)]": 0.6100420219997886, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching unix timestamp in milliseconds before a given date (which ClickHouse doesn't support)]": 0.6248679820000689, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date with timeszone offset before a given date]": 0.614944443000013, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date takes into account timeszone offset after a given date]": 0.6109687260000101, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date after a given date]": 0.6219304710000415, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching ISO 8601 format date before a given date]": 0.61399289100018, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching ISO 8601 format date after a given date]": 0.6115532620001431, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts n increasing order before a given date]": 0.6090735329999006, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts in increasing order after a given date]": 0.6043441799999982, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts separated by slashes before a given date]": 0.6590524119999372, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts separated by slashes after a given date]": 0.6034888700003194, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts increasing in size and separated by slashes before a given date]": 0.6161884159998863, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts increasing in size and separated by slashes after a given date]": 0.5963952780000454, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match dates exactly]": 0.6595950709995577, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match dates exactly against datetimes and unix timestamps]": 0.6245846419999452, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match date times exactly against datetimes with milliseconds]": 0.6236234319999312, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match date only filter after against datetime with milliseconds]": 0.6123217929998646, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match after date only values]": 0.6241406379999717, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match before date only values]": 0.6243780400000105, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property0-expected_event_indexes0]": 1.1464682299999822, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property1-expected_event_indexes1]": 0.6845689780000157, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property2-expected_event_indexes2]": 0.6881973219999509, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching a number only matches event index 4 from test_events]": 0.6706528070001241, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching on email is not a value matches all but the first event from test_events]": 0.67468018999989, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching on email is not a value matches all but the first two events from test_events]": 0.681788294999933, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property6-expected_event_indexes6]": 0.7114959349996752, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property7-expected_event_indexes7]": 0.6559901010002704, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property8-expected_event_indexes8]": 0.6601816489999237, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching for email property not being set matches all but the first two events from test_events]": 0.650861242000019, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching before a unix timestamp only querying by date]": 0.953866405999861, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching after a unix timestamp only querying by date]": 0.673482500000091, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching before a unix timestamp querying by date and time]": 0.6583991289999176, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching after a unix timestamp querying by date and time]": 0.6956765529998847, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property14-expected_event_indexes14]": 0.9202850209999269, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[match after date only value against date and time formatted property]": 0.6765595920001033, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property16-expected_event_indexes16]": 0.682421387000204, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property17-expected_event_indexes17]": 0.6825384879996363, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property18-expected_event_indexes18]": 0.9289840090000325, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property19-expected_event_indexes19]": 0.6717013590000533, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property20-expected_event_indexes20]": 0.6676615110000057, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property21-expected_event_indexes21]": 0.666431096999986, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching a unix timestamp in seconds with fractional seconds after the decimal point]": 0.922171728000194, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching unix timestamp in milliseconds after a given date (which ClickHouse doesn't support)]": 0.9374720090002029, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching unix timestamp in milliseconds before a given date (which ClickHouse doesn't support)]": 0.6901432790002673, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date with timeszone offset before a given date]": 0.9332216579998658, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date takes into account timeszone offset after a given date]": 0.7222106659999099, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date after a given date]": 0.6790922369998498, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching ISO 8601 format date before a given date]": 0.9468420860000606, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching ISO 8601 format date after a given date]": 0.686128017000101, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts n increasing order before a given date]": 0.9375744810001834, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts in increasing order after a given date]": 0.7494236400000318, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts separated by slashes before a given date]": 0.9613799530000051, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts separated by slashes after a given date]": 0.6890976509998836, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts increasing in size and separated by slashes before a given date]": 0.9825866950000091, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts increasing in size and separated by slashes after a given date]": 0.7222404290000668, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match dates exactly]": 0.9492255809998369, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match dates exactly against datetimes and unix timestamps]": 0.9698335149998911, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match date times exactly against datetimes with milliseconds]": 1.018083261999891, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match date only filter after against datetime with milliseconds]": 0.7090631539999777, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match after date only values]": 0.7670715120000295, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match before date only values]": 0.7214689940001335, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_cohorts": 3.725890371999867, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_events": 3.047647718000235, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_groups": 3.0242900459998054, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_persons": 3.060555454999985, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7822757929998261, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.4305942460000551, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.687951208999948, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 1.6083053880001899, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_breakdown_group": 5.5452675590001945, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown": 3.9979042740001205, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown_materialized": 5.507798778999813, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event": 2.0199801610001487, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_materialized": 3.374047238000003, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type": 2.005498108999973, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 3.272468886000297, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.5397863310001867, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.2960788390000744, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.11584652800002, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other": 2.1195055689997844, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.3391058800000337, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 2.0670073260000663, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 3.2149403460000485, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit": 2.9630569439998453, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit_materialized": 4.756527496999979, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person": 2.7164273569999295, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person_materialized": 3.8988054079998165, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.5111044989996572, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 3.2056975379998676, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.933803905000104, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.4455181629998606, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_multi_property_breakdown_event": 2.836137966999786, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 4.727276307000238, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_step_conversion_times": 0.6599493610001446, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_times_with_different_conversion_windows": 1.5845424330000242, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_with_multiple_incomplete_tries": 0.8317731799998, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_exclusions_between_steps": 5.9301728099997035, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_multiple_exclusions_between_steps": 5.190497372999971, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps": 3.575092067999776, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps_out_of_order_events": 3.661283586000309, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_default_funnel_days": 0.4623547660000895, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps": 0.9353196410002056, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps_materialized": 1.5653550729998642, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_step_updated_param": 1.1833059870000397, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_steps": 0.8670526570003858, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_breakdown_values_is_set_on_the_query_with_fewer_than_two_entities": 0.4343659869998646, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_conversion_window": 2.237267688999964, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_default": 0.4969645080002465, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_events": 0.8837360699999408, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusion_no_end_event": 1.079551181999932, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_full_window": 1.026446567999983, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_invalid_params": 0.23215898500006915, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions": 1.144367431000319, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions_materialized": 1.8673620879999362, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties": 0.8271193620003032, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties_materialized": 1.0735064119996878, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts": 0.5804153130000032, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts_materialized": 0.7500228820001666, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions": 0.6200668779999887, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions_materialized": 1.093523360000063, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_no_events": 0.2254575089998525, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop": 0.7718295340000623, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop_materialized": 0.9973361449997356, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters": 0.744536620999952, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_materialized": 1.2912510480000492, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity": 0.8439071689999764, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity_materialized": 1.4319459939997614, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_skipped_step": 0.6106779130000177, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions": 1.0563525309999022, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events": 0.002528428999994503, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events_materialized": 0.5409396130000914, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_materialized": 1.7551921570002378, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_cohorts_step_filter": 1.3161867170001642, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_denormalised_properties": 0.7510695259998101, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_elements_chain": 1.3938436150003781, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters": 0.5852809369996521, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters_materialized": 0.8397840669997549, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties": 4.106245068000135, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties_materialized": 6.036297158999787, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_precalculated_cohort_step_filter": 1.502701049000052, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_single_step": 0.4561229360001562, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_static_cohort_step_filter": 0.9764667089998511, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_action_events_are_excluded_from_correlations": 1.6163770519997342, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_events": 4.600307396999597, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties": 5.546551295999734, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties_materialized": 6.885209079000106, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties": 3.547724621000043, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties_materialized": 5.119495246000042, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_properties_raises_validation_error": 0.29834234200006904, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_discarding_insignificant_events": 1.8388061219998235, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_events_within_conversion_window_for_correlation": 0.7433576779999385, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties": 3.220979678000049, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_and_groups": 3.421383526000227, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_and_groups_materialized": 5.1097203729998455, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture": 2.6696261290001075, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture_materialized": 4.361194937000164, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_exclusions": 1.6586491949997253, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_materialized": 5.348084824999887, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_events_and_groups": 7.864483298999858, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_properties_and_groups": 6.620825958000296, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_properties_and_groups_materialized": 8.214822424999966, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_no_divide_by_zero_errors": 0.8341786480000337, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_basic_funnel_correlation_with_events": 3.838996248000285, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_create_funnel_correlation_cohort": 2.3665549949998876, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_funnel_correlation_on_event_with_recordings": 3.5324025419997724, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_funnel_correlation_on_properties_with_recordings": 1.4507248160000472, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_people_arent_returned_multiple_times": 0.6297126120000485, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_strict_funnel_correlation_with_recordings": 2.559967122999751, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_basic_offset": 9.108401072999868, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step": 2.4926462749997427, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person": 2.914188961000036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person_materialized": 4.276264803000004, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns": 1.4289740989997881, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_materialized": 2.3658417350000036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_with_multi_property_breakdown": 1.533098984000162, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons": 0.7060965979997036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons_materialized": 1.219194183999889, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_person_recordings": 4.5400050700000065, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step": 2.2818017430001873, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step_dropoff": 2.4398935609999626, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_second_step_dropoff": 2.4470345830002316, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_are_equivalent_to_funnel_step": 5.46171497499995, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_overrides_funnel_step": 2.3755130880001616, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_where_funnel_step_equivalence_isnt_possible": 3.627552442000251, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7495378410001194, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.3626300290002291, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.7160528720000912, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 1.5931643850001365, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_breakdown_group": 4.54438227300011, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown": 4.349313850000044, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown_materialized": 5.126916831999779, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event": 1.7950467050000043, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_materialized": 2.822080638999978, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type": 1.8133615169999757, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.879918100000168, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.512550580000152, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4361708080000426, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.304778130999921, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other": 1.8328721320001478, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.004101483999875, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 1.763694328999918, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 2.979596810999965, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit": 2.8132434560002366, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 4.645683301999952, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person": 2.3058552509999117, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person_materialized": 3.4646833909998804, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.379202059000363, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 2.7685065130001476, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.684304588000032, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.3344074489998548, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_multi_property_breakdown_event": 2.4793493049999142, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 4.207911139999851, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_strict_breakdown_events_with_multiple_properties": 1.5766085950001525, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_step_conversion_times": 0.6149737180003285, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_times_with_different_conversion_windows": 1.4428837680002289, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 0.7225563459999194, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_advanced_strict_funnel": 2.6134847269997863, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel": 1.6607829540000694, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel_conversion_times": 1.2292291329997624, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_first_step": 2.296423017000052, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step": 2.1474556160001157, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step_dropoff": 2.1625305879999814, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_strict_funnel_person_recordings": 3.5188653759998942, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_third_step": 2.0835885869998947, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step": 2.5772637250001935, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step_duplicate_events": 0.002426427000273179, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_total": 4.31286035800008, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_strict": 2.3168602619998637, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_unordered": 5.60864835700022, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_custom_bin_count_single_step": 1.9253001889999268, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_date_range": 1.0679053960000147, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_results_for_day_interval": 0.8982599549999577, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_day_interval": 0.8069012949999887, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_from_second_step": 0.7320546420000937, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_event": 0.7298650160000761, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_person": 0.9575054110000565, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_trend_cohort_breakdown": 0.9841029130002426, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_hour_interval": 0.5078924869999355, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_month_interval": 0.8344737100001112, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_no_event_in_period": 0.5546642199999496, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows": 1.1495319990001462, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_strict_funnel": 0.5916420429998652, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_unordered_funnel": 2.1021423269999104, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_only_one_user_reached_one_step": 1.298592218000067, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_period_not_final": 0.5681713399999353, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_steps_performed_in_period_but_in_reverse": 0.5510568449999482, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_to_second_step": 0.6902017239999623, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_two_runs_by_single_user_in_one_period": 0.5667538240002159, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_week_interval": 0.8349170629999207, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_window_size_one_day": 0.901621619000025, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7634423929998775, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.3647311220001939, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.6912151000001359, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 3.4105473849999726, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_breakdown_group": 14.462301069999967, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown": 7.627433540000311, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown_materialized": 10.432332738000241, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event": 4.080008904000124, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_materialized": 6.435513755999864, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type": 4.349213960000043, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 6.414773887999672, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 2.543372255999884, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.509714688000031, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.318202071000087, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other": 4.332144545999881, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 6.480769372000168, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 4.08813578399986, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 6.616847513000039, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit": 3.3800425200001882, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 5.39041776199997, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person": 6.131225319999885, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person_materialized": 8.627335468000183, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 2.300822634000042, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 6.440125032999958, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 9.456629758999952, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 3.6358321180002804, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_multi_property_breakdown_event": 6.256030123999835, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 9.48903565899991, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_step_conversion_times": 0.9614129660001254, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_times_with_different_conversion_windows": 2.551640565000298, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 1.3951392479998503, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_advanced_funnel_multiple_exclusions_between_steps": 9.112437646999979, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel": 4.173162166999873, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel_conversion_times": 2.6952539869998873, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_big_multi_step_unordered_funnel": 5.000847975999704, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_full_window": 1.5395832749998135, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_invalid_params": 0.23409100200001376, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_single_event_unordered_funnel": 0.5164445130001241, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_first_step": 2.764960432999942, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_invalid_steps": 0.34054918400011047, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step": 2.449346109000089, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step_dropoff": 2.4558980499998597, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_second_step_dropoff": 2.5277033079999, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_unordered_funnel_does_not_return_recordings": 3.426326071999938, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_filter_missing_order": 0.2188882050002121, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_ordered": 0.004179027999953178, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_strict": 0.005254933999822242, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_unordered": 0.005853037000179029, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots": 8.100585236000143, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots_with_specific_limit_and_offset": 4.386596007999742, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata": 3.2898731759996735, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_does_not_leak_teams": 0.3159621249999418, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_non_existant_session_id": 0.25849885699994957, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots": 0.29906351599993286, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_does_not_leak_teams": 0.29122916599976634, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_with_no_such_session": 0.22190202200022213, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter": 0.883022057999824, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter_materialized": 1.8651401509998777, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_filters_at_once": 0.5978954299998804, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys": 0.4102441289999206, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys_with_entity_filter": 0.47025691299973005, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query": 0.4093991229999574, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query_materialized": 0.8523190619998786, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_from_filter": 0.4867546189998393, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_to_filter": 0.5144772959999955, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_duration_filter": 0.5255066670001725, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter": 0.6503184659998169, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_matching_with_no_session_id": 1.1075125950001166, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_matching_with_no_session_id_materialized": 1.1731051129997923, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_cohort_properties": 1.3852593729998262, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_cohort_properties_materialized": 1.523237257000119, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_matching_on_session_id": 1.1149445409998862, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_matching_on_session_id_materialized": 1.2101223509998817, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_person_properties": 0.7940943860000971, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_person_properties_materialized": 0.9941151639998225, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties": 0.6748329199999716, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties_materialized": 1.6434011219998865, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_multiple_event_filters": 0.6327269520002119, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_pagination": 0.6969983629999206, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_person_id_filter": 0.4529786000000513, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_that_spans_time_bounds": 0.3868296759999339, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_without_fullsnapshot_dont_appear": 0.3984844509998311, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recordings_dont_leak_data_between_teams": 0.4271707359996526, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_teams_dont_leak_event_filter": 0.4586310360002699, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_group_props": 0.7437108610001815, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props": 0.5387107490003018, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_materialized": 1.4488532880000093, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_with_entity_filter": 0.8219678710001972, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_group_types_to_query": 0.24315415899991422, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_materialized_columns_checks": 0.5975584319999143, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter": 0.2454650730001049, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter_with_actions": 0.23375229800035413, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column": 0.23788502500019604, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column_with_actions": 0.24747188600008485, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_account_filters": 1.074630889999753, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_action_with_person_property_filter": 0.5016966169998796, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_basic_event_filter": 0.3339851410000847, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_cohort_filter": 0.5515465369996946, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_denormalised_props": 0.56255590700016, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_element": 0.5044206340000983, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_entity_filtered_by_cohort": 0.7179379000001518, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_event_properties_filter": 0.46707668399972135, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_groups_filters": 0.7906452509998871, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_groups_filters_mixed": 0.8496953309997934, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_person_properties_filter": 0.48780971699989095, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_static_cohort_filter": 0.4750795359998392, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_filter_test_accounts": 1.1058018660000926, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_days": 1.1543453759998101, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_months": 1.8981988289999663, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_weeks": 1.4133225490002133, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_edge_cases": 1.127395229000058, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend": 0.8701538789998722, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_action": 0.9258625370000573, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_all_time": 0.936211503000095, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_months": 0.9079583220000131, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people": 1.173527224000054, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people_paginated": 7.949091882000175, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_prop_filtering": 0.7907189719999224, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_weeks": 0.9017556829999194, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trends_distinct_id_repeat": 0.6327626570000575, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_test_account_filters_with_groups": 1.48633083000027, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_current_url_paths_and_logic": 3.3881451219997416, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_custom_event_paths": 0.7395652419997987, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties": 3.294957727999872, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties_materialized": 5.367241918000218, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_exclusion_filters_with_wildcards": 1.0880908659999022, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters": 2.522247999999763, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters_across_single_person": 1.6449643999999353, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff": 7.4565931380000166, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff_with_group_filter": 16.79978533999997, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step": 3.040937324000197, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_limit": 8.707202808000147, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_respects_conversion_window": 6.788085211999942, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_dropoff": 3.039069284000334, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_step": 3.0428915160000543, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_between_step": 8.489838148000217, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping": 2.2948687670000254, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement": 1.0123477069998899, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement_multiple": 1.3208543910000117, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_event_ordering": 2.798366987999998, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_across_people": 0.6912756439999157, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_with_evil_input": 0.6231273050000254, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_groups_filtering": 3.6725187910001296, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_min_edge_weight": 3.1614029789998312, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording": 0.8922667089998413, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_for_dropoff": 3.256045671000038, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_with_no_window_or_session_id": 1.79887409700018, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_with_start_and_end": 3.5140249469998253, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_removes_duplicates": 0.6666982730000655, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_respect_session_limits": 0.6278188260000661, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end": 0.7218085800000154, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end_materialized": 1.7910657639999954, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_in_window": 0.6285672640001394, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_person_dropoffs": 5.015035291999766, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_properties_filter": 0.7640942919999816, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start": 1.5359508349997668, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end": 2.95206028600046, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end_materialized": 4.6532668120000835, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_dropping_orphaned_edges": 0.9941630549999445, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_properties_queried_using_path_filter": 0.3207866830000512, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_screen_paths": 0.7595411319996401, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_conversion_times": 0.6413550639999812, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_limit": 3.2503886500001045, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest": 0.011457969999810302, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_and_cross_edges": 0.005490134000183389, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_edges": 0.004861230999722466, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_no_start_point": 0.006591542000251138, "clickhouse/queries/test/test_person_distinct_id_query.py::test_person_distinct_id_query": 0.014788990999932139, "clickhouse/queries/test/test_person_query.py::test_person_query": 0.45500310099987473, "clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_requested_fields": 0.4221900990000904, "clickhouse/queries/test/test_person_query.py::test_person_query_with_entity_filters": 0.41167083399977855, "clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_fields": 0.3937601220000033, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_day_interval": 0.6646724899997025, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_filter_test_accounts": 0.7632908980001503, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_first_time_retention": 0.9653550419998282, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_aggregating": 2.042867272999956, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_filtering": 2.2413548679999167, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_in_period": 1.1467386009996972, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_hour_interval": 0.6959896920000119, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_interval_rounding": 0.693231373999879, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_month_interval": 0.7234894700000041, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_action_start_point": 0.7137843070001963, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_default": 0.6554696299999705, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_event_action": 0.6607448639999802, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_invalid_properties": 0.24224496500005444, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_multiple_events": 0.7805070379999961, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_basic": 0.6939605789998495, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_first_time": 1.2412672119999115, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_perieod_first_time": 1.008047906000229, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period": 0.7215799569999035, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_paginated": 14.853945221999993, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_properties": 0.7289960739999515, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_user_properties": 0.7912504559999434, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_week_interval": 0.7061474360000375, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_filtering": 0.7046399240000483, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop": 0.5277108380000755, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop_materialized": 1.096348828000373, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math": 0.546558055000105, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math_action": 0.5769726329997411, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming": 0.6698282149998249, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming_materialized": 1.368367717000183, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_all_time_timerange": 0.6478839739997966, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering": 0.7984168450002471, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_materialized": 1.5399874229999568, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency": 0.7952805250001802, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency_materialized": 1.6412210749999758, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_bar_chart_by_value": 0.623295115999781, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math": 0.6061812049999844, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math_materialized": 1.225129749999951, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort": 1.244574845000443, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort_materialized": 1.7165280110000367, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_empty_cohort": 0.44373827500021434, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_group_props": 1.1524356259997148, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_group_props_with_person_filter": 1.1491034040000159, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property": 1.1675308280000536, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie": 0.6823815790000936, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie_materialized": 0.9768878610000229, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_property_pie": 0.8225497539997377, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filter_by_precalculated_cohort": 1.0064445559999058, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering": 0.9175262660000953, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value": 0.6286065680001229, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value_materialized": 1.216997366999749, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit": 1.082741499000349, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit_materialized": 1.8370366620001732, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_materialized": 1.6425213249999615, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons": 0.6509509479999451, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_materialized": 0.9206755560001056, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props": 0.7299601499996697, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props_materialized": 1.4902757960003328, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties": 0.6779576119997728, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_in_new_format": 1.2840342050001254, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_materialized": 2.140008432000286, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_label": 0.23358455700008562, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts": 1.3039251660002265, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts_materialized": 1.838172984999801, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort": 0.9041514330001519, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort_materialized": 1.2822540989998288, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter": 0.7093174209999233, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter_materialized": 1.4340936560001865, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter": 0.5447207739998703, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_groups": 0.881371518999913, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_materialized": 1.1038812140000118, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter": 1.1409580429997277, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter_materialized": 2.18452530799982, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains": 0.7873676830001841, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains_materialized": 1.4613115239997114, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_custom_range_timerange": 0.6252466060000188, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_filtering": 0.8750444849999894, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering": 1.0275893790001192, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_materialized": 1.7095566189998408, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter": 1.0363791869997385, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter_materialized": 2.293533518000004, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_day_interval": 0.5372074260003501, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering": 0.708318808000513, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering_materialized": 0.9376633669999137, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_by_precalculated_cohort": 0.8165361639998991, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort": 0.509648006000134, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort_materialized": 0.7256666099997346, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts": 0.8450639929997124, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts": 0.5007618029999321, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts_materialized": 0.6885697419997996, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_materialized": 1.682076362000771, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props": 0.3993766499997946, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props_materialized": 1.4885540589998527, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_group_props": 0.8323315830002684, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_hour_interval": 0.47221817999979976, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering": 1.2096229829999174, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown": 1.5633576120008001, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown_materialized": 2.004998981999506, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding": 0.5565811219998977, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding_monthly": 0.4570427909998216, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last14days_timerange": 0.6957263019999118, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last24hours_timerange": 0.5773279580007511, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last30days_timerange": 0.671400227000504, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last48hours_timerange": 0.563124395000159, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last7days_timerange": 0.5733055109999441, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last90days_timerange": 0.8081714809991354, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering": 0.8303997339994567, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering_materialized": 1.5396787710001263, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering": 2.167772586999945, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering_materialized": 3.6218609810002818, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering": 0.8022209000000657, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering_materialized": 1.5255202879993703, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_month_interval": 0.4944628030007152, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_no_props": 0.37846128799992584, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering": 2.0922726060002788, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering_materialized": 3.68327783299992, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering": 2.095263717999842, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering_materialized": 3.5037541609999607, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering": 2.082477471999937, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering_materialized": 3.5499886600000536, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering": 0.7360381259995847, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering_materialized": 1.4257766279997668, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering": 0.6686522629997853, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering_materialized": 0.9348132760005683, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_previous_month_timerange": 0.6710353899998154, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering": 0.6369250029997602, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering_materialized": 1.270641360999889, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_response_empty_if_no_events": 0.5093135560000519, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_should_throw_exception": 0.519960675999755, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering": 0.8352491399991777, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering_materialized": 1.5079321429998345, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_this_month_timerange": 0.6460136019995844, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_today_timerange": 0.5175185489997602, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate": 0.5673361120002482, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts": 0.7511300900000606, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts_materialized": 0.9816843950002294, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_math": 0.7286230330000762, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func": 1.7888063139994301, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func_materialized": 3.4919757630000277, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_compare": 0.8258102309996502, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_for_non_existing_action": 0.3714096969997627, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_math_without_math_property": 0.21842486899959113, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day": 0.6987832960003288, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_48hours": 0.6582537359995513, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_cumulative": 0.5893926579997242, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties": 0.8432286250003926, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties_materialized": 1.2663524069998857, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_dau": 0.6936826360006307, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math": 0.6170514700002059, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math_materialized": 1.2664123059998929, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_week_interval": 0.6634324940000624, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_year_to_date_timerange": 0.6772948520001592, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_yesterday_timerange": 0.5290308759995241, "clickhouse/queries/test/test_util.py::test_get_earliest_timestamp": 0.3531473869998081, "clickhouse/queries/test/test_util.py::test_get_earliest_timestamp_with_no_events": 0.25394326900050146, "clickhouse/queries/test/test_util.py::test_parse_breakdown_cohort_query": 0.28484161800042784, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown": 0.90428451400021, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_cohort": 0.9874005520000537, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_counts_of_different_events_one_without_events": 0.7694312909998189, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_mismatching_sizes": 0.9089147670001694, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_compare": 0.8966546269998616, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_cumulative": 0.7133831579999423, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_day_interval": 0.6950103509998371, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_event_properties": 0.716653094999856, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_formula": 2.047238822000054, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_global_properties": 0.7351242009999623, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_hour_interval": 0.7155216799997106, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_interval_rounding": 0.47989501900019604, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_month_interval": 0.6844273279994013, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_multiple_events": 0.7808311170001616, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_pie": 0.6651766129998578, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_properties_with_escape_params": 0.7508227800003624, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_week_interval": 0.732694475000244, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_group_query_includes_recording_events": 0.5384214800001246, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_person_query_does_not_include_recording_events_if_flag_not_set": 0.5219140760004848, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_person_query_includes_recording_events": 0.5095445249999102, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_calculate_usage": 0.4276355029996921, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_event_properties_or_related_updates_property_definitions": 18.886705246000474, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_team_events_or_related_updates_event_definitions": 18.96476181700018, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_cache_eviction": 0.1144139829998494, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_caching_client": 0.008758400000260735, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_client_strips_comments_from_request": 0.015356273000179499, "clickhouse/test/test_middleware.py::TestQueryMiddleware::test_query": 1.1683267019998311, "clickhouse/test/test_system_status.py::test_system_status": 0.11663930700024139, "clickhouse/views/test/test_clickhouse_experiment_secondary_results.py::ClickhouseTestExperimentSecondaryResults::test_basic_secondary_metric_results": 2.3230102390002685, "clickhouse/views/test/test_clickhouse_experiment_secondary_results.py::ClickhouseTestExperimentSecondaryResults::test_secondary_metric_results_for_multiple_variants": 1.734905845999947, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_can_list_experiments": 0.27526728499969977, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_cannot_list_experiments_without_proper_license": 0.028728121999392897, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_cant_reuse_existing_feature_flag": 0.047463832999710576, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_create_multivariate_experiment": 0.14148128499982704, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_invalid_multivariate_experiment_no_control": 0.034659888000078354, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_updating_basic_experiment": 0.07716886400021394, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_updating_experiment_with_group_aggregation": 0.10900962099958633, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_deleting_experiment_soft_deletes_feature_flag": 0.2556160649996855, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_deleting_feature_flag_deletes_experiment": 0.07549634499991953, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_doesnt_have_FF_active": 0.05245168700002978, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_doesnt_have_FF_active_even_after_updates": 0.10859391699978005, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_participants_update_updates_FF": 0.11081524199971682, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_getting_archived_experiments": 0.11277496400043674, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_invalid_create": 0.04871064600001773, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_invalid_update": 0.06834576599976572, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_launching_draft_experiment_activates_FF": 0.08072240600040459, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestFunnelExperimentResults::test_experiment_flow_with_event_results": 1.6418293030001223, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestFunnelExperimentResults::test_experiment_flow_with_event_results_for_three_test_variants": 2.2204734159995496, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results": 1.967549980000058, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results_for_three_test_variants": 1.763380889000473, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results_for_two_test_variants_with_varying_exposures": 1.5084854270003234, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_empty_property_values": 0.3213216059998558, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_groups_list": 0.3098136769995108, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_property_definitions": 0.29085323899971627, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_property_values": 0.2954054760002691, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_related_groups": 0.8371019810001599, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_related_groups_person": 0.9394128149997414, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_retrieve_group": 0.324528397999984, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_update_groups_metadata": 0.26823237400003563, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format": 1.0082933800003957, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_get": 1.9760261089995765, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_post": 1.9363886709998042, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_path_start_key_constraints": 0.9532877379997444, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_start_point_constraints": 1.101382413999545, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination": 2.400572041000487, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination_with_deleted": 10.387213124000027, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_create_paths_cohort": 0.9728452740000648, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_path_types": 1.332943140000225, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_start_point": 1.4490154019995316, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_funnel_path_post": 2.0893301179994523, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic": 0.6426262409995616, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic_exclusions": 0.6892590589995962, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_path_groupings": 1.144658520000121, "clickhouse/views/test/test_clickhouse_retention.py::RetentionTests::test_retention_test_account_filters": 2.80657780599995, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_get_retention_cohort_breakdown": 1.2412932519996502, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_get_retention_cohort_breakdown_with_retention_type_target": 1.185107022000011, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property": 1.1811183760005406, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_and_retrieve_people": 0.8958119679996344, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_and_retrieve_people_materialized": 1.7925422469998011, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_materialized": 2.1258863269999893, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_person_property": 1.5877514960002372, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_person_property_materialized": 2.1877489099997547, "clickhouse/views/test/test_clickhouse_retention.py::IntervalTests::test_can_get_retention_week_interval": 1.199537519000387, "clickhouse/views/test/test_clickhouse_retention.py::RegressionTests::test_can_get_actors_and_use_percent_char_filter": 0.6791626849999375, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_default_limit_of_chunks": 0.6475478219999786, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_metadata_for_chunked_session_recording": 19.598255986999902, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_session_recordings": 0.4766140629999427, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_single_session_recording_metadata": 0.35214388900067206, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_snapshots_for_chunked_session_recording": 22.205296735999582, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_request_to_another_teams_endpoint_returns_401": 0.2614651330000015, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_doesnt_exist": 0.28716912200025035, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_for_user_with_multiple_distinct_ids": 0.43796151300011843, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_with_no_person": 0.2834169779998774, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recordings_dont_leak_teams": 0.45294108100051744, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_setting_viewed_state_of_session_recording": 0.7899261609995847, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_single_session_recording_doesnt_leak_teams": 0.32720627200023955, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_viewed_state_of_session_recording": 0.4179604890000519, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_aggregate_by_groups": 1.6487348940004267, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_compare": 0.7141587269998126, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_filter_by_group_properties": 1.6667034380002406, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_filter_test_accounts": 0.7670524239997576, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness": 0.7002249709998978, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_action": 0.6573319899998751, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_all_time": 0.6746182829997451, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_entity_filter": 0.6452071540006727, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_hours": 0.6560733739997886, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_months": 0.6639575650001461, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_endpoint": 0.6385922779995781, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_paginated": 9.333654103999834, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_with_entity_filter": 0.5848976590004895, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_prop_filter": 0.6334266020007817, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_weeks": 0.6371774450003613, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_breakdown_with_filter": 1.1029224670000985, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_breakdown_with_filter_materialized": 1.8954865550003888, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_aggregate": 0.8149526380002499, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_basic": 0.9567830269998012, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_clean_arg": 0.9351838770003269, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_compare": 0.8264858539996567, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_cumulative": 2.981720184000551, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrendsGroups::test_aggregating_by_group": 0.9451326820008035, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_aggregation_with_groups": 1.436297280999952, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_group_aggregation_with_groups_entity_filtering": 1.4970255660000475, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_with_groups_entity_filtering": 1.2812429720006548, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_with_groups_global_filtering": 1.623736411999289, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_request_with_no_steps_doesnt_fail": 0.29538281300028757, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_with_properties": 1.9257532009996794, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_funnel_steps": 0.9482588349997059, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_historical_events": 0.833621951999703, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_picks_up_events_for_odds_ratios": 0.8719883809999374, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_is_partitioned_by_team": 1.3196054000000004, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_events_correlation_endpoint_provides_people_drill_down_urls": 1.481358815999556, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_events_with_properties_correlation_endpoint_provides_people_drill_down_urls": 1.7850596209996183, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_funnel_correlation_with_event_properties_autocapture": 1.8398892359996353, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_properties_correlation_endpoint_provides_people_drill_down_urls": 2.1810598590000154, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_requires_authn": 0.23988138899994738, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_format": 0.925652576000175, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination": 9.797648144999584, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination_with_deleted": 10.813566740999704, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdown_basic_pagination": 9.947067232000336, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdowns": 1.1854758939998646, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelCorrelationActors::test_pagination": 2.1129862930001764, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_basic_format": 1.1836482720004824, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_strict_order": 0.8608176520001507, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_unordered": 1.8821931039997253, "clickhouse/views/test/funnel/test_clickhouse_funnel_unordered.py::ClickhouseTestUnorderedFunnelGroups::test_unordered_funnel_with_groups": 2.270931663999818, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_interface": 0.008639997000500443, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce": 0.3887700590003078, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce_and_consume": 0.34380175500018595, "models/test/test_event_definition_model.py::TestEventDefinition::test_default_verified_false": 0.23576914399973248, "models/test/test_event_definition_model.py::TestEventDefinition::test_errors_on_invalid_verified_by_type": 0.007267781999871659, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_calculate_cohorts": 0.24113980399988577, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_funnels_cohort": 0.617903429999842, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_stickiness_cohort": 0.38702683999963483, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort": 0.530424948000018, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort_arg_test": 0.5648505340000156, "tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_error": 6.438404195999738, "tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_usage": 2.267681829000594, "tasks/test/test_send_license_usage.py::SendLicenseUsageNoLicenseTest::test_no_license": 0.3907684809996681, "tasks/test/test_status_report.py::TestStatusReport::test_instance_status_report_event_counts": 2.1916582759999983, "tasks/test/test_status_report.py::TestStatusReport::test_status_report": 0.14247239700034697, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_duplicate_distinct_ids": 0.26345755400006965, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_multiple_ids_per_person": 0.2914452680006434, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_plugins": 0.14896207099991443, "clickhouse/models/test/test_property.py::test_combine_group_properties": 0.002199124000071606, "clickhouse/models/test/test_property.py::test_with_materialized_columns": 0.0018008200004260289, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_absolute_loss_less_than_one_percent_but_not_significant": 0.3467312879997735, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results": 0.3454197720002412, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants": 7.3001690630003395, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants_almost_equal": 9.130410286999904, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants_much_better_than_control": 14.885644429999957, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_two_test_variants": 0.7631933580000805, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_two_test_variants_almost_equal": 0.5713543069996376, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_simulation_result_is_close_to_closed_form_solution": 0.14891976999933831, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_count_data_probability": 0.0025660299997980474, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results": 0.13598782600001869, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results_small_numbers": 0.11909343700017416, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results_with_three_variants": 0.2792237309995471, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_significance_when_target_variants_underperform": 0.006684674000098312, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_results_with_different_exposures": 0.27084133800008203, "clickhouse/queries/funnels/test/test_funnel.py::test_with_materialized_columns": 0.0020041239999954996, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestCorrelationFunctions::test_are_results_insignificant": 0.002225425000233372, "clickhouse/queries/funnels/test/test_funnel_correlation.py::test_with_materialized_columns": 0.0018001209996327816, "clickhouse/queries/funnels/test/test_funnel_persons.py::test_with_materialized_columns": 0.0017705199998090393, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::test_with_materialized_columns": 0.0017216200003531412, "clickhouse/queries/test/test_breakdown_props.py::test_with_materialized_columns": 0.0016819190000205708, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_blank": 0.0019311209994157252, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_filtering": 0.0032180359999074426, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_filtering_with_custom_key_names": 0.0026504300003580283, "clickhouse/queries/test/test_paths.py::test_with_materialized_columns": 0.0018291199999111996, "clickhouse/queries/test/test_trends.py::test_with_materialized_columns": 0.0016628190001028997, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS cohortpeople ON CLUSTER posthog\\n(\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64,\\n sign Int8\\n) ENGINE = CollapsingMergeTree(sign)\\nOrder By (team_id, cohort_id, person_id)\\n\\n]": 0.005352860000584769, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_static_cohort ON CLUSTER posthog\\n(\\n id UUID,\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, cohort_id, person_id, id)\\n\\n]": 0.002348525999877893, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nORDER BY (id, event_uuid, distinct_id, team_id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0026635300000634743, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW IF NOT EXISTS events_dead_letter_queue_mv ON CLUSTER posthog\\nTO posthog_test.events_dead_letter_queue\\nAS SELECT\\nid,\\nevent_uuid,\\nevent,\\nproperties,\\ndistinct_id,\\nteam_id,\\nelements_chain,\\ncreated_at,\\nip,\\nsite_url,\\nnow,\\nraw_payload,\\nerror_timestamp,\\nerror_location,\\nerror,\\ntags,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events_dead_letter_queue\\n]": 0.0022367260003193223, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('kafka:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0023466259995075234, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , $group_0 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_0')) COMMENT 'column_materializer::$group_0'\\n , $group_1 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_1')) COMMENT 'column_materializer::$group_1'\\n , $group_2 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_2')) COMMENT 'column_materializer::$group_2'\\n , $group_3 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_3')) COMMENT 'column_materializer::$group_3'\\n , $group_4 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_4')) COMMENT 'column_materializer::$group_4'\\n , $window_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$window_id')) COMMENT 'column_materializer::$window_id'\\n , $session_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$session_id')) COMMENT 'column_materializer::$session_id'\\n\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMM(timestamp)\\nORDER BY (team_id, toDate(timestamp), event, cityHash64(distinct_id), cityHash64(uuid))\\n\\n\\n]": 0.0023610260000168637, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'kafka:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0024021270000957884, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW events_mv ON CLUSTER posthog\\nTO posthog_test.events\\nAS SELECT\\nuuid,\\nevent,\\nproperties,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nelements_chain,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events\\n]": 0.0023286249993361707, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, group_type_index, group_key)\\n\\n]": 0.0024116260005939694, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.002340027000172995, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW groups_mv ON CLUSTER posthog\\nTO posthog_test.groups\\nAS SELECT\\ngroup_type_index,\\ngroup_key,\\ncreated_at,\\nteam_id,\\ngroup_properties,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_groups\\n]": 0.002318927000487747, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, id)\\n\\n]": 0.0023635270003978803, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.0023795279998921615, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_mv ON CLUSTER posthog\\nTO posthog_test.person\\nAS SELECT\\nid,\\ncreated_at,\\nteam_id,\\nproperties,\\nis_identified,\\nis_deleted,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person\\n]": 0.002349227000195242, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Int8 DEFAULT 1,\\n is_deleted Int8 ALIAS if(_sign==-1, 1, 0)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = CollapsingMergeTree(_sign)\\nOrder By (team_id, distinct_id, person_id)\\n\\n]": 0.002360926000164909, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.002332624999780819, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_distinct_id_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id\\nAS SELECT\\ndistinct_id,\\nperson_id,\\nteam_id,\\ncoalesce(_sign, if(is_deleted==0, 1, -1)) AS _sign,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person_distinct_id\\n]": 0.0023313260003305913, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n, _partition UInt64\\n) ENGINE = ReplacingMergeTree(version)\\n\\n ORDER BY (team_id, distinct_id)\\n SETTINGS index_granularity = 512\\n ]": 0.002462426999500167, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.002362025999900652, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_distinct_id2_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id2\\nAS SELECT\\nteam_id,\\ndistinct_id,\\nperson_id,\\nis_deleted,\\nversion,\\n_timestamp,\\n_offset,\\n_partition\\nFROM posthog_test.kafka_person_distinct_id2\\n]": 0.002344527000332164, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('kafka:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0023709269999017124, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY plugin_id ORDER BY (team_id, id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0024164280002878513, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW plugin_log_entries_mv ON CLUSTER posthog\\nTO posthog_test.plugin_log_entries\\nAS SELECT\\nid,\\nteam_id,\\nplugin_id,\\nplugin_config_id,\\ntimestamp,\\nsource,\\ntype,\\nmessage,\\ninstance_id,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_plugin_log_entries\\n]": 0.0023598259999744187, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , has_full_snapshot BOOLEAN materialized JSONExtractBool(snapshot_data, 'has_full_snapshot')\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMMDD(timestamp)\\nORDER BY (team_id, toHour(timestamp), session_id, timestamp, uuid)\\n\\nSETTINGS index_granularity=512\\n]": 0.002342526000120415, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW session_recording_events_mv ON CLUSTER posthog\\nTO posthog_test.session_recording_events\\nAS SELECT\\nuuid,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nsession_id,\\nwindow_id,\\nsnapshot_data,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_session_recording_events\\n]": 0.0023197260002234543, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.002362226999593986, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS cohortpeople ON CLUSTER posthog\\n(\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64,\\n sign Int8\\n) ENGINE = CollapsingMergeTree(sign)\\nOrder By (team_id, cohort_id, person_id)\\n\\n]": 0.0030694339993715403, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_static_cohort ON CLUSTER posthog\\n(\\n id UUID,\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, cohort_id, person_id, id)\\n\\n]": 0.00296903399976145, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nORDER BY (id, event_uuid, distinct_id, team_id)\\n\\nSETTINGS index_granularity=512\\n]": 0.002974233999793796, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW IF NOT EXISTS events_dead_letter_queue_mv ON CLUSTER posthog\\nTO posthog_test.events_dead_letter_queue\\nAS SELECT\\nid,\\nevent_uuid,\\nevent,\\nproperties,\\ndistinct_id,\\nteam_id,\\nelements_chain,\\ncreated_at,\\nip,\\nsite_url,\\nnow,\\nraw_payload,\\nerror_timestamp,\\nerror_location,\\nerror,\\ntags,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events_dead_letter_queue\\n]": 0.002508528998987458, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('kafka:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0026259289998051827, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , $group_0 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_0')) COMMENT 'column_materializer::$group_0'\\n , $group_1 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_1')) COMMENT 'column_materializer::$group_1'\\n , $group_2 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_2')) COMMENT 'column_materializer::$group_2'\\n , $group_3 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_3')) COMMENT 'column_materializer::$group_3'\\n , $group_4 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_4')) COMMENT 'column_materializer::$group_4'\\n , $window_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$window_id')) COMMENT 'column_materializer::$window_id'\\n , $session_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$session_id')) COMMENT 'column_materializer::$session_id'\\n\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMM(timestamp)\\nORDER BY (team_id, toDate(timestamp), event, cityHash64(distinct_id), cityHash64(uuid))\\n\\n\\n]": 0.002947933000541525, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'kafka:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0026926309997179487, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW events_mv ON CLUSTER posthog\\nTO posthog_test.events\\nAS SELECT\\nuuid,\\nevent,\\nproperties,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nelements_chain,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events\\n]": 0.00259983000023567, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, group_type_index, group_key)\\n\\n]": 0.0029325320001589716, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.0026240289998895605, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW groups_mv ON CLUSTER posthog\\nTO posthog_test.groups\\nAS SELECT\\ngroup_type_index,\\ngroup_key,\\ncreated_at,\\nteam_id,\\ngroup_properties,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_groups\\n]": 0.002606729000035557, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, id)\\n\\n]": 0.0029596330005006166, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.002599428999928932, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_mv ON CLUSTER posthog\\nTO posthog_test.person\\nAS SELECT\\nid,\\ncreated_at,\\nteam_id,\\nproperties,\\nis_identified,\\nis_deleted,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person\\n]": 0.0025470290001976537, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Int8 DEFAULT 1,\\n is_deleted Int8 ALIAS if(_sign==-1, 1, 0)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = CollapsingMergeTree(_sign)\\nOrder By (team_id, distinct_id, person_id)\\n\\n]": 0.0028019319997838465, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.0024372270004278107, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_distinct_id_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id\\nAS SELECT\\ndistinct_id,\\nperson_id,\\nteam_id,\\ncoalesce(_sign, if(is_deleted==0, 1, -1)) AS _sign,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person_distinct_id\\n]": 0.0024399280000579893, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n, _partition UInt64\\n) ENGINE = ReplacingMergeTree(version)\\n\\n ORDER BY (team_id, distinct_id)\\n SETTINGS index_granularity = 512\\n ]": 0.002731131000473397, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.002548828999806574, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_distinct_id2_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id2\\nAS SELECT\\nteam_id,\\ndistinct_id,\\nperson_id,\\nis_deleted,\\nversion,\\n_timestamp,\\n_offset,\\n_partition\\nFROM posthog_test.kafka_person_distinct_id2\\n]": 0.002540529000270908, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('kafka:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0025744280005710607, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY plugin_id ORDER BY (team_id, id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0029442329996527405, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW plugin_log_entries_mv ON CLUSTER posthog\\nTO posthog_test.plugin_log_entries\\nAS SELECT\\nid,\\nteam_id,\\nplugin_id,\\nplugin_config_id,\\ntimestamp,\\nsource,\\ntype,\\nmessage,\\ninstance_id,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_plugin_log_entries\\n]": 0.002461029000187409, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , has_full_snapshot BOOLEAN materialized JSONExtractBool(snapshot_data, 'has_full_snapshot')\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMMDD(timestamp)\\nORDER BY (team_id, toHour(timestamp), session_id, timestamp, uuid)\\n\\nSETTINGS index_granularity=512\\n]": 0.0030223339995245624, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW session_recording_events_mv ON CLUSTER posthog\\nTO posthog_test.session_recording_events\\nAS SELECT\\nuuid,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nsession_id,\\nwindow_id,\\nsnapshot_data,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_session_recording_events\\n]": 0.0024095269995996205, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.0024596260000180337, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('kafka:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0028122310004619067, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'kafka:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0026832290000129433, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.002731829999902402, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.002687929999865446, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.0027057309994233947, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.00273703100037892, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('kafka:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0027253299999756564, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.0026919300003100943, "clickhouse/sql/test/test_schema.py::test_create_kafka_events_with_disabled_protobuf": 0.0026012289999925997, "clickhouse/test/test_error.py::test_wrap_query_error[error0-AttributeError-Foobar-None]": 0.0021369230003074335, "clickhouse/test/test_error.py::test_wrap_query_error[error1-EstimatedQueryExecutionTimeTooLong-Estimated query execution time (34.5 seconds) is too long.-None]": 0.0035665400005200354, "clickhouse/test/test_error.py::test_wrap_query_error[error2-CHQueryErrorSyntaxError-Code: 62.\\nSyntax error-62]": 0.002301224999882834, "clickhouse/test/test_error.py::test_wrap_query_error[error3-CHQueryErrorUnknown-Code: 9999.\\nSyntax error-9999]": 0.002256424999814044, "clickhouse/views/test/test_clickhouse_retention.py::test_with_materialized_columns": 0.0016704190002201358, "clickhouse/views/test/test_clickhouse_trends.py::test_with_materialized_columns": 1.8125781269995969}
+{"ee/api/test/test_capture.py::TestCaptureAPI::test_determine_team_from_request_data_ch": 3.4122722329999533, "ee/api/test/test_capture.py::TestCaptureAPI::test_produce_to_kafka": 0.15640384599998924, "ee/api/test/test_capture.py::TestCaptureAPI::test_unable_to_fetch_team": 0.02767883699993945, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_allowed_for_project_member": 0.3054151560000946, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_org_admin": 0.0507530999999517, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_project_outsider": 0.04411500799994883, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_shared_dashboard_in_private_project": 0.07278180200000861, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_create_event_definition": 0.3000420400001076, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_existing_event_definition": 0.051290033000100266, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_search_event_definition": 0.12399333000018942, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_definition": 0.058352151000008234, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_without_license": 0.04512456800023301, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_with_expired_license": 0.04844436400014729, "ee/api/test/test_hooks.py::TestHooksAPI::test_create_hook": 0.4614861830001473, "ee/api/test/test_hooks.py::TestHooksAPI::test_create_hook_with_resource_id": 0.24908502599987514, "ee/api/test/test_hooks.py::TestHooksAPI::test_delete_hook": 0.24549151300004723, "ee/api/test/test_license.py::TestLicenseAPI::test_can_create_license": 0.2613849530000607, "ee/api/test/test_license.py::TestLicenseAPI::test_can_list_and_retrieve_licenses": 0.03875799099989763, "ee/api/test/test_license.py::TestLicenseAPI::test_friendly_error_when_license_key_is_invalid": 0.03096323099998699, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_organization": 0.39356956799997533, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_two_similarly_named_organizations": 0.08080907700013995, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_last_organization": 0.12931684499994844, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_organization_owning": 0.10213543700001537, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_second_managed_organization": 0.11091855899985603, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_has_license": 0.023947615999986738, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_license_expired": 0.1589728980000018, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_no_license": 0.017647444000090218, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_belonging_to": 0.07041076400003021, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_owning": 0.043380664999972396, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_update_organization_not_belonging_to": 0.06928309499994612, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_update_org": 0.14897150600017994, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_filter_property_definitions": 0.2764710449998802, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_create_property_definition": 0.05701777100000527, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_existing_property_definition": 0.04555449299994052, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_search_property_definition": 0.11548352700003761, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_definition": 0.053584268000008706, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_without_license": 0.0414815520001639, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_with_expired_license": 0.0471586879999677, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_create_project": 0.29927609399999255, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_open_team_as_org_member_but_project_admin_forbidden": 0.25988916499977677, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_private_team_as_org_member_but_project_admin_allowed": 0.31280061100017065, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_second_team_as_org_admin_allowed": 0.2947191270000076, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_admin_allowed": 0.28631400100005067, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_member_forbidden": 0.24558740699990267, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_admin_allowed": 0.2501691469998377, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_and_project_admin_forbidden": 0.24232559099993978, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_forbidden": 0.2495731799999703, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_admin_allowed": 0.24469330299996273, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_and_project_admin_forbidden": 0.24642732299992076, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_forbidden": 0.2338159949999863, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_nonexistent_team": 0.23022938799999793, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member": 0.24045527900000252, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_admin": 0.23917950299994573, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_member": 0.23673856300013085, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_admin_works": 0.24385007400007908, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_member_works": 0.23670156100001805, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_outsider": 0.23722019199988154, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_list_teams_restricted_ones_hidden": 0.24700385400001323, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_administrating_organization": 0.24993142500011345, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_belonging_to_organization": 0.4943581330001052, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_non_admin_cannot_create_project": 0.23412531200006015, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_and_project_member_allowed": 0.2504248530000268, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_forbidden": 0.2445900170000641, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_current_as_org_outsider_forbidden": 0.2498482190001141, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_id_as_org_outsider_forbidden": 0.249083574999986, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_project_as_org_member_allowed": 0.25004543100010324, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_user_that_does_not_belong_to_an_org_cannot_create_a_project": 0.25705173500000456, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_org_admin_allowed": 0.2962390970000115, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_admin_allowed": 0.2696964650000382, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_member_forbidden": 0.25836881099985476, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_allowed": 0.26233274999992773, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_and_project_member_allowed": 0.2789111210000783, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_and_project_member_forbidden": 0.24943651699993552, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_but_project_admin_allowed": 0.2690339479999011, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_forbidden": 0.25450550900006874, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_owner_allowed": 0.26489671000001636, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_current_project_allowed": 0.2612459989999252, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_private_project_forbidden": 0.26404286000001775, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_nonexistent_project_forbidden": 0.24467664100018283, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_in_outside_organization_forbidden": 0.27798216600001524, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_that_is_not_organization_member_forbidden": 0.2871032939998486, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_admin_forbidden": 0.25712405999991006, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_member_forbidden": 0.2535015509999994, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_demote_yourself_as_org_member_and_project_admin_forbidden": 0.27120667400004095, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_allowed": 0.24760580999998183, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_member": 0.2570391560000189, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_organization_outsider": 0.2384900839999773, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_project_outsider": 0.25019495799995184, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_admin_allowed": 0.2622965599999816, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_allowed": 0.24929880699994555, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_but_project_admin_allowed": 0.25404128200011655, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_but_project_admin_allowed": 0.2635854330000029, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_forbidden": 0.25542446300005395, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_owner_allowed": 0.28908850899995286, "ee/clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class": 0.2780182679999825, "ee/clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class_edge_cases": 0.2532993400000123, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_backfilling_data": 2.2649386519999553, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_caching_and_materializing": 2.04398621200005, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_column_types": 1.8644900170000938, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_get_columns_default": 1.2085611839999046, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_materialized_column_naming": 1.9727072100000669, "ee/clickhouse/models/test/test_action.py::TestActions::test_attributes": 0.305633364000073, "ee/clickhouse/models/test/test_action.py::TestActions::test_empty_selector_same_as_null": 0.28807818400002816, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_events_by_url": 0.4100594940001656, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_direct_decendant_ordering": 0.3475152020001815, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_id": 0.3337548340000467, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nested": 0.3481742389999454, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nth_child": 0.32776429999989887, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_star": 0.3322757509998837, "ee/clickhouse/models/test/test_action.py::TestActions::test_no_person_leakage_from_other_teams": 0.2969962819998955, "ee/clickhouse/models/test/test_action.py::TestActions::test_no_steps": 0.2747047359999897, "ee/clickhouse/models/test/test_action.py::TestActions::test_person_property": 0.363022767999837, "ee/clickhouse/models/test/test_action.py::TestActions::test_person_with_different_distinct_id": 0.2866569039999831, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class": 0.27128364600002897, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_slashes": 0.2590381620001381, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_symbols": 0.2545901150000418, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_normal_filters": 0.3334807189999083, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_double": 0.30025336300002436, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_contains_url": 0.2780357220000269, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_exact_url": 0.28150251600004594, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_regex_url": 0.27450472600003195, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_clickhouse_empty_query": 0.3938014860001431, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_change": 1.2360476100000142, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_get_person_ids_by_cohort_id": 0.42909032500006106, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_basic": 1.0718043900001248, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_count": 1.7655990750000683, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic": 0.7087321549998933, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_deleted_person": 1.3573256099999753, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_prop_changed": 1.2782052049999493, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_timestamp": 0.6951178630000641, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_cyclic_cohort_filter": 0.6537181539999892, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_nonexistent_other_cohort_filter": 0.6918364830000883, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_valid_other_cohort_filter": 2.225866351000036, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_insert_by_distinct_id_or_email": 0.6286306940000941, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic": 0.3631944469999553, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action": 0.3576625179999837, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action_days": 0.4586738120000291, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_event_days": 0.4226943759998676, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_multiple_groups": 0.3471757960001014, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_with_negation": 0.32518419199993787, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_static_cohort_precalculated": 0.6061559610000131, "ee/clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_direct_table_insert": 0.2981627890000027, "ee/clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_kafka_insert": 2.218743123999957, "ee/clickhouse/models/test/test_element.py::TestClickhouseElement::test_broken_class_names": 0.23260135600003196, "ee/clickhouse/models/test/test_element.py::TestClickhouseElement::test_elements_to_string": 0.22320260800006508, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_old_style_properties": 0.21912436899992827, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_recursive_cohort": 0.01232651899999837, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_cohorts": 0.4339205880000918, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities": 0.008252580999965176, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_hasdone_cohort": 0.007858159000079468, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_multi_group_cohort": 0.008058771000037268, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_no_such_cohort": 0.006307767000066633, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_not_ee": 0.005643428000212225, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_static_cohort": 0.0074344329999576075, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_test_accounts": 0.006698390000110521, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_to_dict": 0.0066974900000786874, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters": 0.2694861039999523, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_contains": 0.2643305039999859, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain": 0.278087206999885, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_element_filter": 0.29178920400011066, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_element_selectors": 0.25283833499997854, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members": 0.3447479909999629, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_incomplete_data": 0.20135673399988718, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex": 0.26393098100015777, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not": 0.2742751830000998, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set": 0.2779347969999435, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false": 0.25105193100012, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_json_object": 0.3020324010000195, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_multiple": 0.2585057640000059, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality": 0.2842406639999808, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_numerical": 0.31012587399993663, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_person_cohort_properties": 0.3752441679999947, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_regex": 0.26722437300009005, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_simple": 0.2769401400000788, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_true_false": 0.2753736470001513, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties": 0.4389398800000208, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties_numerical": 0.3932783100000279, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_old_style_properties": 0.2369076289999157, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_simplify_test_accounts": 0.007483224999873528, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_to_dict": 0.0066589779999048915, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_limit_works": 0.25374748299987004, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_search_works": 0.039133418000005804, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_simple_log_is_fetched": 0.02878853100003198, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_decimals": 0.38779598199994325, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element": 0.5515377639999315, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_event": 0.3317341040000201, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_ints_saved_as_strings": 0.4109128919999421, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_person": 0.3209162919999926, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized": 0.8594906179999953, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized_ints": 0.3324483449999889, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_person_denormalized": 0.4328515360000438, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property0-expected_event_indexes0]": 0.2957624640000631, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property1-expected_event_indexes1]": 0.3074024239999744, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property2-expected_event_indexes2]": 0.3323187369999232, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property3-expected_event_indexes3]": 0.2961423860000423, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property4-expected_event_indexes4]": 0.290731378999908, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property5-expected_event_indexes5]": 0.29532083900005546, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property6-expected_event_indexes6]": 0.28774381200003063, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property7-expected_event_indexes7]": 0.2889992819999634, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property8-expected_event_indexes8]": 0.2845401279998896, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property9-expected_event_indexes9]": 0.28303444099992703, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property0-expected_event_indexes0]": 0.7811942019999378, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property1-expected_event_indexes1]": 0.3160298430000239, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property2-expected_event_indexes2]": 0.3157902299997204, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property3-expected_event_indexes3]": 0.3040580560000308, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property4-expected_event_indexes4]": 0.30667290600001706, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property5-expected_event_indexes5]": 0.3067553119999502, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property6-expected_event_indexes6]": 0.30191623200005324, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property7-expected_event_indexes7]": 0.3393605830000297, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property8-expected_event_indexes8]": 0.321160137999982, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property9-expected_event_indexes9]": 0.31001489799996307, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.078508217000035, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.783673001000011, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.012095904000148, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown": 4.043667342999925, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown_materialized": 5.420725929000014, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event": 1.989234081999939, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_materialized": 3.1571343780000234, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type": 2.013538778000111, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.988358690000041, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.43275230200004, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.2715992219999634, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 1.7754772360001425, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other": 2.006685664000088, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.015030266999929, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit": 3.2913461809999944, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit_materialized": 5.136119527999881, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person": 2.735624440000038, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person_materialized": 3.868653906000077, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.491645050000102, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 3.162512784000114, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.832301138000048, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.3501407210000025, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_step_conversion_times": 0.6657537549998551, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_times_with_different_conversion_windows": 1.4371063159999267, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_with_multiple_incomplete_tries": 0.8414155469999969, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_exclusions_between_steps": 6.19118383, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_multiple_exclusions_between_steps": 5.235706039999968, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps": 3.5177383219999, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps_out_of_order_events": 3.6297619970000596, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_default_funnel_days": 0.4311247259998936, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps": 0.9098471130000689, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps_materialized": 1.4736193389999244, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_step_updated_param": 1.1744274700000688, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_steps": 0.8256870169998365, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_conversion_window": 1.941807888999847, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_default": 0.457138329999907, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_events": 1.497510004999981, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusion_no_end_event": 1.0378132280000045, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_full_window": 0.9682012870000563, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_invalid_params": 0.21746392000000014, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions": 1.0386791759999596, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions_materialized": 1.463662830999965, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties": 0.8201529910002137, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties_materialized": 1.0440497829998776, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts": 0.547256755999797, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts_materialized": 0.6288645909999104, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions": 0.6093829610000512, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions_materialized": 0.8101937129999897, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_no_events": 0.22958222099998693, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop": 0.6995953959999497, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop_materialized": 0.9251103810000814, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters": 0.6936022520000051, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_materialized": 0.9841340140000057, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity": 0.7868983670000489, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity_materialized": 1.0498301260000744, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_skipped_step": 0.5648429799999803, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions": 1.0159573589999127, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events": 0.0022172279999495004, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events_materialized": 0.22825194799997917, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_materialized": 1.4004982760000075, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_denormalised_properties": 0.5107160390001582, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_elements_chain": 1.4146405200000345, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters": 0.5841914230001066, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters_materialized": 0.6993902919999755, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties": 3.7941916690000426, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties_materialized": 5.831684114000041, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_single_step": 0.43438579700000446, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_events": 4.385965505000058, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties": 1.8310647380001228, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties_materialized": 2.4829929260000654, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties": 3.0872295520000534, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties_materialized": 4.024911208000162, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_properties_raises_validation_error": 0.2877717890000895, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_discarding_insignificant_events": 1.6137499870001193, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_events_within_conversion_window_for_correlation": 0.7259028970000827, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties": 3.0256051159999515, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture": 2.5083253620000505, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture_materialized": 4.304017837999822, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_exclusions": 1.6548500520000289, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_materialized": 4.7832929839999, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_no_divide_by_zero_errors": 0.8458349899999575, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationPersons::test_basic_funnel_correlation_with_events": 3.3022785139999087, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationPersons::test_people_arent_returned_multiple_times": 0.6194627189997846, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_basic_offset": 7.4679280629998175, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step": 2.0018184030000157, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person": 2.707419863000041, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person_materialized": 3.9608897980003803, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns": 1.7009337240001514, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_materialized": 2.5235194669999146, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons": 0.7514521130001413, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons_materialized": 0.9805009030003475, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step": 2.0504414980000547, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step_dropoff": 1.9935798980000072, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_second_step_dropoff": 1.9569046689998686, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_are_equivalent_to_funnel_step": 4.226075908999974, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_overrides_funnel_step": 1.9434825630000887, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_where_funnel_step_equivalence_isnt_possible": 2.7207068549998894, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.1236643930001264, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.5644911669999146, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.076353946999916, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown": 4.847956962999888, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown_materialized": 6.175481664000245, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event": 1.7884084490001442, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_materialized": 2.4616166979999434, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type": 1.669936473000007, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.418227381000179, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.4016006029999062, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4593288470000516, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.0258372070002224, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other": 1.74509642299995, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 2.5626580629998443, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit": 3.385648183000285, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 4.914983846999803, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person": 2.2608127130001776, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person_materialized": 3.3384852640001554, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.5820777789999738, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 2.7351081209999393, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.016051214999834, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.176098355000022, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_strict_breakdown_events_with_multiple_properties": 1.471916070999896, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_step_conversion_times": 0.6682651129999613, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_times_with_different_conversion_windows": 1.4293016009999064, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 0.7461131239999759, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_advanced_strict_funnel": 2.4217684980001195, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel": 1.5853855069999554, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel_conversion_times": 1.216331930000024, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_first_step": 2.2074801200001275, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step": 2.0549394879999454, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step_dropoff": 2.1008856820001256, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_third_step": 2.021816102999992, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step": 2.7636818409998796, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step_duplicate_events": 0.0019620119999217422, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_total": 4.720440585999995, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_strict": 2.534608437000088, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_unordered": 6.098391111999945, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_custom_bin_count_single_step": 2.1733683489999294, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_date_range": 0.9503746010000214, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_results_for_day_interval": 0.8864150009999321, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_day_interval": 0.8417590869999003, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_from_second_step": 0.70795024500012, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_event": 0.7512618979997114, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_person": 0.8645953449997705, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_trend_cohort_breakdown": 1.0014512499999455, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_hour_interval": 0.5218155439997645, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_month_interval": 0.8407360670000799, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_no_event_in_period": 0.5214756240002316, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows": 1.2615565769997374, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_strict_funnel": 0.6489340870000433, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_unordered_funnel": 2.179022748000307, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_only_one_user_reached_one_step": 1.3171744910000598, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_period_not_final": 0.5554782740000519, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_steps_performed_in_period_but_in_reverse": 0.5603675560000738, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_to_second_step": 0.6995264180002323, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_two_runs_by_single_user_in_one_period": 0.5826955500001532, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_week_interval": 0.8130320910001956, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_window_size_one_day": 0.8851428680000026, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.106617993999862, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.6001500820000274, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.0399460520000048, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown": 7.9801272100000915, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown_materialized": 10.960380491000024, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event": 3.9825215820001176, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_materialized": 6.1375313139999434, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type": 4.114238796999871, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 5.858587421000038, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 2.4665159210001093, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4768252750002375, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 1.979720714999985, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other": 4.212692176000019, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 6.207084612000244, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit": 3.7916767340000206, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 5.7921931400001085, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person": 6.225573549000046, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person_materialized": 9.011092076000068, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 2.5194896080004128, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 6.134760683999957, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 8.977437395000152, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 3.4509319530000084, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_step_conversion_times": 0.9826531189996786, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_times_with_different_conversion_windows": 2.3925724220000575, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 1.4762856330000886, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_advanced_funnel_multiple_exclusions_between_steps": 9.308819315000164, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel": 4.205654740999762, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel_conversion_times": 2.7140712579998763, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_big_multi_step_unordered_funnel": 5.020607273000223, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_full_window": 1.501802815000019, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_invalid_params": 0.22715396200010218, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_single_event_unordered_funnel": 0.512372287000062, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_first_step": 2.5514231310000923, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_invalid_steps": 0.3232778290000624, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step": 2.351788750999958, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step_dropoff": 2.3722616219999964, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_second_step_dropoff": 2.3780847600000925, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots": 5.355217191000293, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots_with_specific_limit_and_offset": 3.079139939999777, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata": 0.29487378700014233, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_does_not_leak_teams": 0.2997519719999673, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_chunked_snapshots": 3.3678246719998697, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_non_existant_session_id": 0.24665759399999843, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots": 0.2789712670000881, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_does_not_leak_teams": 0.26176136999993105, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_with_no_such_session": 0.21774591899975348, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter": 0.6400951939999686, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_filters_at_once": 0.42132641600005627, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys": 0.27893696599994655, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys_with_entity_filter": 0.34368251799969585, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query": 0.2925046510001721, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_from_filter": 0.3438917290000063, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_to_filter": 0.32966690500006735, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_duration_filter": 0.34795046499993987, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter": 0.45357068500015885, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties": 0.47338933400033056, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_multiple_event_filters": 0.4976994430001014, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_pagination": 0.43227315100011765, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_person_id_filter": 0.3301338090000172, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_that_spans_time_bounds": 0.26656822999984797, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_without_fullsnapshot_dont_appear": 0.2763639970000895, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recordings_dont_leak_data_between_teams": 0.2823512440002105, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_teams_dont_leak_event_filter": 0.34781993300020986, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props": 0.4240229439997165, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_materialized": 0.9909760599998663, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_with_entity_filter": 1.0490752230000453, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_materialized_columns_checks": 0.5671407290001298, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter": 0.2245541970000886, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter_with_actions": 0.22966599400001542, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column": 0.22840512099992338, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column_with_actions": 0.2599629470000764, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_account_filters": 0.5829281419999006, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_action_with_person_property_filter": 0.4718200100001013, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_basic_event_filter": 0.31612289800000326, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_cohort_filter": 0.39950662499995815, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_denormalised_props": 0.4242033549999178, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_element": 0.3523264969999218, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_entity_filtered_by_cohort": 0.48358562899966273, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_event_properties_filter": 0.3767018349999489, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_person_properties_filter": 0.463810181999861, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_static_cohort_filter": 0.3803838469998482, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_filter_test_accounts": 2.412463325999852, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend": 0.9208094709997567, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_action": 0.9175159799997346, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_all_time": 0.9897915679998732, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_months": 0.9456509099998129, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people": 1.606526815999814, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people_paginated": 6.768739425000149, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_prop_filtering": 1.0175167859999874, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_weeks": 0.9423590289998174, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trends_distinct_id_repeat": 0.8061594349999268, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_current_url_paths_and_logic": 3.6759169970000585, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_custom_event_paths": 0.763400655000396, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties": 3.735884242999873, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_exclusion_filters_with_wildcards": 1.0389361179998104, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters": 2.402655961999926, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters_across_single_person": 1.5601282509999237, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff": 8.76244784299979, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step": 4.328247638000221, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_limit": 14.897552395000275, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_respects_conversion_window": 7.797880035000162, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_dropoff": 4.393292299999985, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_step": 4.380504735999921, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_between_step": 9.845762665000166, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping": 3.494847931000095, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement": 1.0172335239999484, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement_multiple": 1.2942971729999044, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_event_ordering": 4.323235831000147, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_across_people": 0.7331012700001338, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_with_evil_input": 0.6439357049996488, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_min_edge_weight": 4.122319311999945, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_removes_duplicates": 0.6541583969999465, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_respect_session_limits": 0.6215915100001439, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end": 0.758378329000152, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end_materialized": 1.0690749079999478, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_in_window": 0.7189631339999778, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_person_dropoffs": 5.0039126689996465, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_properties_filter": 0.784160909999855, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start": 1.464056790000086, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end": 2.967617168000288, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end_materialized": 3.84066483100014, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_dropping_orphaned_edges": 1.353246177000301, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_properties_queried_using_path_filter": 0.35585270899991883, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_screen_paths": 0.8873554930003138, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_conversion_times": 0.6841376240001864, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_limit": 3.160860169999978, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest": 0.010203489999867088, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_and_cross_edges": 0.007467431999884866, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_edges": 0.005494517999977688, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_no_start_point": 0.00558942400016349, "ee/clickhouse/queries/test/test_person_query.py::test_person_query": 0.4368775010000263, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_requested_fields": 0.4136416559999816, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_entity_filters": 0.40228060000026744, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_fields": 0.354152213000134, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_day_interval": 0.7009385969997766, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_filter_test_accounts": 0.7092255790000763, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_first_time_retention": 0.9082447040000261, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_hour_interval": 0.6466767550000441, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_interval_rounding": 0.6302381039997726, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_minute_interval": 0.22697304600023926, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_month_interval": 0.6517703499998788, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_action_start_point": 0.6284906020000562, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_default": 0.5861015469999984, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_event_action": 0.5865528729996186, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_graph": 0.6064644260000023, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_invalid_properties": 0.2471246139998584, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_multiple_events": 0.6558271859998968, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people": 0.5245372839999618, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_first_time": 0.8992322880001211, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period": 0.6224482549998811, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period_first_time": 1.0508572710000408, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_paginated": 13.451846693000107, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_properties": 0.6330848729999161, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_user_properties": 0.709399391000261, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_week_interval": 0.6508730020000257, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_recording_duration_gt": 0.40078271500010487, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_recording_duration_lt": 0.37407546899999033, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_unseen_recording": 0.3732756229999268, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_join_with_session_recordings": 0.442958157999783, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run": 0.3324381559998528, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_queries_with_specific_limit_and_offset": 1.956364721, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_sequential_next_urls": 1.975238716000149, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_session_with_chunks_with_partial_snapshots": 0.30553319799992096, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_with_no_sessions": 0.208793194999771, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_with_no_such_session": 0.2219356569996762, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_compare": 0.6779186700000537, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_filter_sessions_precalculated_cohort": 1.2336193620001268, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_filter_test_accounts": 0.8481924339996567, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_no_events": 0.31159995000007257, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_avg_length": 0.7265896900000826, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_avg_length_interval": 0.9591475619999983, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_count_buckets": 1.4210503179999705, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_count_buckets_default": 0.3002597940001124, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_compare": 0.5753936309999972, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_filter_test_accounts": 0.6387358009999389, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness": 0.6765714929997557, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_action": 0.5529603320001115, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_all_time": 0.5447607580001659, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_entity_filter": 0.5887713059998987, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_hours": 0.5313776819998566, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_minutes": 0.5078811199998654, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_months": 0.5075017989997832, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_endpoint": 0.5774776530001873, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_paginated": 6.452203972000007, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_with_entity_filter": 0.6119255020000764, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_prop_filter": 0.5259782159998849, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_weeks": 0.5320777679999082, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_filtering": 0.6119244049998542, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop": 0.46008807999987766, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop_materialized": 0.5614032770001813, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math": 0.5424876760000643, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math_action": 0.5361227050002526, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming": 0.616831904000037, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming_materialized": 0.831069374000208, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_all_time_timerange": 0.6304438960003154, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering": 0.7272097269999449, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_materialized": 1.1833845789999486, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency": 0.7260391600000276, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency_materialized": 0.9277226990000145, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_bar_chart_by_value": 0.5648162120003235, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math": 0.5580836759997965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math_materialized": 0.762654940999937, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort": 1.1284282610004084, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort_materialized": 1.6302445720000378, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_empty_cohort": 0.40686760299990965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property": 1.0271462860002885, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie": 0.6633727819998967, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie_materialized": 0.870781414000021, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_property_pie": 0.7684049740000773, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filter_by_precalculated_cohort": 1.074485413000275, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering": 0.8340111669999715, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value": 0.5817506379996757, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value_materialized": 1.0058639319997837, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit": 0.8280052180002713, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit_materialized": 1.0742279970002073, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_materialized": 1.0190874990000793, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons": 0.6013488749999851, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_materialized": 0.7752128560000529, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props": 0.6212501020002037, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props_materialized": 0.8715044020000278, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties": 0.5724082710000857, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_materialized": 0.9543476030000875, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_label": 0.2195561229998475, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts": 1.7884468370000377, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts_materialized": 2.3748965209999824, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort": 1.0713520359997801, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort_materialized": 1.5705844460001117, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter": 0.6439859859999615, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter_materialized": 0.858218523000005, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter": 0.46799335100013195, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_materialized": 0.5790036440000677, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter": 1.0415610800002923, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter_materialized": 1.6696368500001881, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains": 0.7134029829996962, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains_materialized": 0.9024537650000184, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_custom_range_timerange": 0.56093799700011, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_filtering": 0.8163742950000596, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering": 0.8898883530000603, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_materialized": 1.131941875999928, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter": 0.9319430889997875, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter_materialized": 1.2244472360002874, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_day_interval": 0.48737353499973324, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering": 0.5969085809999797, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering_materialized": 0.7802345590002915, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_by_precalculated_cohort": 0.9309820860000855, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort": 0.4568634940001175, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort_materialized": 0.5870807179999247, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts": 0.7691646369999035, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts": 0.472497697000108, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts_materialized": 0.5818420159998823, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_materialized": 1.0807327369998347, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props": 0.3790506990001177, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props_materialized": 0.464236020999806, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_hour_interval": 0.4573377229999096, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering": 1.0507267039999988, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown": 1.5440586730001087, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown_materialized": 2.089905372999965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding": 0.48139874299999974, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding_monthly": 0.4086538349999955, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last14days_timerange": 0.6118394870002248, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last24hours_timerange": 0.5267804679997425, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last30days_timerange": 0.6432717049995063, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last48hours_timerange": 0.5191334240003016, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last7days_timerange": 0.5162335569998504, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last90days_timerange": 0.8535810679998121, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering": 0.7589904149999711, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering_materialized": 0.9590031010004623, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering": 2.070088905000148, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering_materialized": 3.055939957999726, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering": 0.7582557840003119, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering_materialized": 0.9464221140001428, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_minute_interval": 0.43531238700006725, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_month_interval": 0.464955492999934, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_no_props": 0.34244773499972325, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering": 2.114751366000064, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering_materialized": 3.0940250989997367, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering": 2.177623440999696, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering_materialized": 3.0076593049998337, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering": 2.0972056709999833, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering_materialized": 3.0341006749999906, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering": 0.6560443570001553, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering_materialized": 0.8189616840002145, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering": 0.6127937549999842, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering_materialized": 0.7766661350001414, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_previous_month_timerange": 0.5889164729999266, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering": 0.5993743779999932, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering_materialized": 0.6753276719998667, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_response_empty_if_no_events": 0.48878588000025047, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering": 0.7307318769999256, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering_materialized": 0.9692971799997849, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_this_month_timerange": 0.6139141390001441, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_today_timerange": 0.46324101899995185, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate": 0.5484230519996345, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts": 0.7019290380001166, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts_materialized": 0.9196179389998633, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_math": 0.6495090020000589, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func": 1.5941470940001636, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func_materialized": 2.3929146379998656, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_compare": 0.7365247440002349, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_for_non_existing_action": 0.3446777579997615, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_math_without_math_property": 0.2193382999998903, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day": 0.6313969580000958, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_48hours": 0.649507506999953, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_cumulative": 0.5690370470001653, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties": 0.8107669440000791, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties_materialized": 1.0680490419999842, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_dau": 0.7057902659998945, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math": 0.5900429639998492, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math_materialized": 0.8434130340001502, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_week_interval": 0.4929843439997512, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_year_to_date_timerange": 0.6174393409999084, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_yesterday_timerange": 0.4836200270001427, "ee/clickhouse/queries/test/test_util.py::test_get_earliest_timestamp": 0.29817101799994816, "ee/clickhouse/queries/test/test_util.py::test_get_earliest_timestamp_with_no_events": 0.2513645149999775, "ee/clickhouse/queries/test/test_util.py::test_parse_breakdown_cohort_query": 0.3039989549999973, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown": 0.841712705999953, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_cohort": 0.9317270039998675, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_counts_of_different_events_one_without_events": 0.7110214580000047, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_mismatching_sizes": 0.8119365850002396, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_compare": 0.8700475400003143, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_cumulative": 0.6687702180001907, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_day_interval": 0.6479343139999401, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_event_properties": 0.670512018999716, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_formula": 1.9149967200000901, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_global_properties": 0.6656928499996866, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_hour_interval": 0.6610860820001108, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_interval_rounding": 0.4810090539999692, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_minute_interval": 0.6461675179998565, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_month_interval": 0.6366708680000102, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_multiple_events": 0.7242845410000882, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_pie": 0.6068751430000248, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_properties_with_escape_params": 0.6762701610000477, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_week_interval": 0.6385763780001525, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_calculate_usage": 0.48941504099957456, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_event_properties_or_related_updates_property_definitions": 17.938282477999792, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_team_events_or_related_updates_event_definitions": 17.887773481000067, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_cache_eviction": 0.10384061600007044, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_caching_client": 0.012063598999702663, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_client_strips_comments_from_request": 0.014801757999748588, "ee/clickhouse/test/test_middleware.py::TestQueryMiddleware::test_query": 0.919627182999875, "ee/clickhouse/test/test_system_status.py::test_system_status": 0.06140775799963194, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_cant_create_action_with_the_same_name": 0.280579556000248, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_action": 0.3841221569998652, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_action_event_with_space": 0.2676781090001441, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_from_other_domain": 0.4174442859998635, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_get_event_count": 0.3358408580002106, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_http_to_https": 0.2756131700000424, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_update_action": 0.3628241219996653, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_update_action_remove_all_steps": 0.27422708800008877, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_active_user_weekly_people": 0.49669747899997674, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_cohort_people_endpoint": 0.8055679569999938, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_event_property_none_people_endpoint": 0.6171466370001326, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_event_property_people_endpoint": 0.6151465210000424, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_person_property_nones_people_endpoint": 0.6349734699997498, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_person_property_people_endpoint": 0.6189495419996547, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_day_interval": 0.8621487249999973, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_day_interval_cumulative": 0.8869568599998274, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_filtering_by_person_properties": 0.5980624329999955, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_hour_interval": 1.2998724709998442, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_day": 0.5164292049998949, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_hour": 0.5088375650000216, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_minute": 0.540603310999586, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_month": 0.5334952069997598, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_rounding": 0.2244158010000774, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_week": 0.5511784299997089, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_is_calculating_always_false": 0.41297912399977577, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_minute_interval": 1.0859966129999066, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_month_interval": 1.1027875849999873, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_csv": 0.6013007340000058, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_cumulative": 3.879905554000061, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_endpoint_paginated": 6.516160944999683, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_week_interval": 1.0997417829998994, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_element_automatic_order": 0.24567542499994488, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_element_stats": 0.38568333099988195, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_event_property_values": 0.33916893700006767, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_action_no_steps": 0.2704922610000722, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_ascending_order_timestamp": 0.43596054199997525, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_before_and_after": 0.6830658480002967, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_custom_event_values": 0.3116981460000261, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_default_descending_order_timestamp": 0.43765403900010824, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_event_property_values": 0.5719874160001837, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_event_sessions_by_id": 0.7569591270000728, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_default_limit": 0.47848220300011235, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_maximum_limit": 0.4956198950003454, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_over_maximum_limit": 0.4748813940002492, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_with_param_limit": 0.47210443300036786, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_in_future": 0.38801796599977934, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_nonexistent_cohort_handling": 0.5705475319998641, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_sessions_basic": 2.2291892099997312, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_by_nonexisting_person": 0.28956448899998577, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_by_person": 0.3730495299998893, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events": 0.37916348499993546, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_event_name": 0.3557926289997795, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_precalculated_cohort": 1.1151705590000347, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_properties": 0.3800769369997852, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_event_by_id": 0.28024704900008146, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_events_with_specified_token": 0.41898639400005777, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_single_action": 0.2994937649998519, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_limit": 0.4069234950000009, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_live_action_events": 0.21391980299972602, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_optimize_query": 0.5271046619998287, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_pagination": 4.829561386000023, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_pagination_bounded_date_range": 0.8839354929998535, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_session_events": 0.5555353739998736, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_request_with_no_steps_doesnt_fail": 0.28954336800029523, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_with_properties": 1.866001870999753, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_funnel_steps": 0.9747470580000481, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_historical_events": 0.8163641040000584, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_picks_up_events_for_odds_ratios": 0.8725269580002077, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_is_partitioned_by_team": 1.3908437919999415, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_funnel_correlation_with_event_properties_autocapture": 1.1011329049999858, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_requires_authn": 0.22374276599998666, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_format": 0.9198618000000351, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination": 9.032663469999989, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination_with_deleted": 10.221104253000021, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdown_basic_pagination": 9.409283933999859, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdowns": 1.1256946669998342, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelCorrelationPersons::test_pagination": 2.089670500999773, "ee/clickhouse/views/test/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_basic_format": 1.2636994459996913, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_basic_results": 0.2775504460000775, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_cohort_without_match_group_works": 0.4303297689998544, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_create_insight_items": 0.259308904999898, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_favorited_insight_items": 0.268817546000264, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_insight_by_short_id": 0.26308806699989873, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_insight_items": 0.2720978520001154, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_saved_insight_items": 0.27116900499981966, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_funnels_basic_get": 0.47879737599987493, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_funnels_basic_post": 0.49228406199995334, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_paths_basic": 0.7083831629997803, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_refreshing": 0.6070565049997185, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_retention_basic": 0.49653408000017407, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_allowed_if_project_open_and_org_member": 0.32894644599991807, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_allowed_if_project_private_and_org_member_and_project_member": 0.32450302000029296, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_basic": 0.41227438999976584, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_breakdown_pagination": 0.9765281149998373, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_forbidden_if_project_private_and_org_member": 0.24129158499999903, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_with_specified_token": 0.48289658399971813, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_nonexistent_cohort_is_handled": 0.4262346999998954, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_precalculated_cohort_works": 1.166152067999974, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_save_new_funnel": 0.27401211699975647, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_update_insight": 0.25158690700027364, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_update_insight_filters": 0.005339832999879945, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_basic_exclusions": 0.5926136939999651, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_invalid_action_handled": 0.24875102399983007, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_invalid_exclusions": 0.7764534989998992, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_strict_basic_post": 0.5560231540000586, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins": 3.030403734999936, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins_strict": 2.56589407499996, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins_unordered": 6.546081921999985, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_basic_post": 0.6726990639997439, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_basic_post_backwards_compatibility": 0.6701449209997463, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_strict_basic_post": 0.7131270020001921, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_unordered_basic_post": 1.0597191010001552, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_unordered_basic_post": 0.7487043639998774, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format": 0.8736085649998131, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_get": 1.9474917909999476, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_post": 1.9541469329999472, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_path_start_key_constraints": 0.8670138430002226, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_start_point_constraints": 1.036400834999995, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination": 2.3215846449998025, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination_with_deleted": 9.344018170000027, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_path_types": 1.308208096000044, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_start_point": 1.2732035899998664, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_funnel_path_post": 2.038496304000091, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic": 0.6002012160001868, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic_exclusions": 0.6405020909999166, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_path_groupings": 1.209239086000025, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_cant_see_another_organization_pii_with_filters": 0.4052275730000474, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_delete_person": 0.6129477719998704, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_by_cohort": 0.488000435999993, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_id_or_uuid": 0.3056462429999556, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_is_identified": 0.33953578899991044, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_person_list": 0.42098698299992066, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_merge_people": 0.3687332920001154, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_cohorts": 0.7607554850001179, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_property_names": 0.3039750569998887, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_property_values": 0.3549387669997941, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_properties": 0.3662029980002899, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_return_non_anonymous_name": 0.3222630370000843, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_search": 0.3988302009997824, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_split_people_delete_props": 0.419703428000048, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_split_people_keep_props": 0.3861962799996945, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_default_limit_of_chunks": 0.49980106299994986, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_metadata_for_chunked_session_recording": 12.241319018000013, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_session_recordings": 0.36672320100001343, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_single_session_recording_metadata": 0.3308036099999754, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_snapshots_for_chunked_session_recording": 13.256453979999833, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_request_to_another_teams_endpoint_returns_401": 0.2726631450000241, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_doesnt_exist": 0.28683948700017936, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_for_user_with_multiple_distinct_ids": 0.36879256900033397, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_with_no_person": 0.3091373529998691, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recordings_dont_leak_teams": 0.3165090379998219, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_setting_viewed_state_of_session_recording": 0.6345090530001016, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_single_session_recording_doesnt_leak_teams": 0.3086119250001502, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_viewed_state_of_session_recording": 0.32080836199997975, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_interface": 0.008750657000064166, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce": 0.39514470500012067, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce_and_consume": 0.34149586099965745, "ee/tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_stickiness_cohort": 0.5154557079999904, "ee/tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort": 0.022596962000079657, "ee/tasks/test/test_org_usage_report.py::TestOrganizationUsageReport::test_event_counts": 1.1234756750000088, "ee/tasks/test/test_org_usage_report.py::TestOrganizationUsageReport::test_org_usage_report": 0.07461113699991984, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_error": 4.880100866000021, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_usage": 1.126898724000057, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageNoLicenseTest::test_no_license": 0.36430595899992113, "ee/tasks/test/test_status_report.py::TestStatusReport::test_instance_status_report_event_counts": 2.0849482789999456, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report": 0.1445598039995275, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_duplicate_distinct_ids": 0.18582451699990088, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_multiple_ids_per_person": 0.20238136500029213, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_plugins": 0.15370917099994585, "ee/clickhouse/models/test/test_property.py::test_parse_prop_clauses_defaults": 0.03579843300030916, "ee/clickhouse/queries/funnels/test/test_funnel.py::test_with_materialized_columns": 0.001733087999809868, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestCorrelationFunctions::test_are_results_insignificant": 0.002764541999795256, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::test_with_materialized_columns": 0.0018324939999274648, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::test_with_materialized_columns": 0.0014835750000656844, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::test_with_materialized_columns": 0.0018048920001092483, "ee/clickhouse/queries/test/test_breakdown_props.py::test_with_materialized_columns": 0.0016624840000076802, "ee/clickhouse/queries/test/test_paths.py::test_with_materialized_columns": 0.0028525469999749475, "ee/clickhouse/queries/test/test_trends.py::test_with_materialized_columns": 0.0017761909998625924, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error0-AttributeError-Foobar-None]": 0.002195511999843802, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error1-EstimatedQueryExecutionTimeTooLong-Estimated query execution time (34.5 seconds) is too long.-None]": 0.002550129999917772, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error2-CHQueryErrorSyntaxError-Code: 62.\\nSyntax error-62]": 0.0020832059999520425, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error3-CHQueryErrorUnknown-Code: 9999.\\nSyntax error-9999]": 0.17104966100009733, "api/test/test_action.py::TestActionApi::test_actions_does_not_nplus1": 1.5385470399999122, "api/test/test_action.py::TestActionApi::test_create_action_update_delete_tags": 0.19979837799996858, "api/test/test_action.py::TestActionApi::test_create_action_with_tags": 0.13023913199981507, "api/test/test_capture.py::TestCaptureAPI::test_capture_event_with_uuid_in_payload": 0.27399585199998455, "api/test/test_capture.py::TestCaptureAPI::test_determine_team_from_request_data_ch": 0.01760381199994754, "api/test/test_capture.py::TestCaptureAPI::test_kafka_connection_error": 0.027186072999938915, "api/test/test_capture.py::TestCaptureAPI::test_produce_to_kafka": 0.025731164000035278, "api/test/test_capture.py::TestCaptureAPI::test_unable_to_fetch_team": 0.027623076999930163, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_edit_restricted_dashboard_as_creator_who_is_project_member": 0.3191895410000143, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_edit_restricted_dashboard_as_other_user_who_is_project_admin": 0.07537858199998482, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_creator_who_is_project_admin": 0.06313130299997738, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_creator_who_is_project_member": 0.06172709499992379, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_other_user_who_is_project_admin": 0.08137712000007014, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_delete_restricted_dashboard_as_other_user_who_is_project_member": 0.07264446400006364, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_edit_restricted_dashboard_as_other_user_who_is_project_member": 0.0638485080000919, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_set_dashboard_to_restrict_editing_as_other_user_who_is_project_member": 0.06018178400006491, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_dashboard_restrictions_have_no_effect_without_license": 0.054030046000093535, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_allowed_for_project_member": 0.0719415599999138, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_org_admin": 0.058855876999928114, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_project_outsider": 0.03844774500009862, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_shared_dashboard_in_private_project": 0.07711219300006178, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_can_add_collaborator_to_edit_restricted_dashboard_as_creator": 0.319832045000112, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_can_remove_collaborator_from_restricted_dashboard_as_creator": 0.06164459400008582, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_from_other_org_to_edit_restricted_dashboard_as_creator": 0.09515990900001725, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_edit_restricted_dashboard_as_other_user": 0.056904363999933594, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_other_org_to_edit_restricted_dashboard_as_creator": 0.08776536200002738, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_unrestricted_dashboard_as_creator": 0.05438244900005884, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_yourself_to_restricted_dashboard_as_creator": 0.055766857000094205, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_remove_collaborator_from_restricted_dashboard_as_other_user": 0.055957756999987396, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_remove_collaborator_from_unrestricted_dashboard_as_creator": 0.05737026600002082, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_update_existing_collaborator": 0.1412758029998713, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_list_collaborators_as_person_without_edit_access": 0.0737501709999151, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_can_get_event_verification_data": 0.46998760500002845, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_cannot_update_verified_meta_properties_directly": 0.15155626899991148, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_create_event_definition": 0.059219778999931805, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_existing_event_definition": 0.05858937400000741, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_search_event_definition": 0.14544373000001087, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_definition": 0.08862286700002642, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_without_license": 0.04458428599991748, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_verify_then_unverify": 0.2303894730000593, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_verify_then_verify_again_no_change": 0.2604264650001369, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_with_expired_license": 0.059642080999879, "api/test/test_hooks.py::TestHooksAPI::test_create_hook": 0.4153403550001258, "api/test/test_hooks.py::TestHooksAPI::test_create_hook_with_resource_id": 0.24747178199993414, "api/test/test_hooks.py::TestHooksAPI::test_delete_hook": 0.25289331700003004, "api/test/test_insight.py::TestInsightEnterpriseAPI::test_cannot_delete_restricted_insight_as_other_user_who_is_project_member": 0.3030126390000305, "api/test/test_insight.py::TestInsightEnterpriseAPI::test_cannot_update_restricted_insight_as_other_user_who_is_project_member": 0.0702460490000476, "api/test/test_instance_settings.py::TestInstanceSettings::test_update_recordings_ttl_setting": 0.3128081999998358, "api/test/test_license.py::TestLicenseAPI::test_can_create_license": 0.27782517699995424, "api/test/test_license.py::TestLicenseAPI::test_can_list_and_retrieve_licenses": 0.03738143900011437, "api/test/test_license.py::TestLicenseAPI::test_friendly_error_when_license_key_is_invalid": 0.03446832000008726, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_organization": 0.291186062999941, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_two_similarly_named_organizations": 0.11064870799998516, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_last_organization": 1.0135875830000032, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_organization_owning": 0.9539744009999822, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_second_managed_organization": 0.9664851800000633, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_has_license": 0.025380661999975018, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_license_expired": 0.056076458000006824, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_no_license": 0.017713213000092765, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_belonging_to": 0.07732569400002376, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_owning": 0.045771792999971694, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_update_organization_not_belonging_to": 0.08863866599995163, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_update_org": 0.17792233899990606, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_can_set_and_query_property_type_and_format": 0.297793805000083, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_errors_on_invalid_property_type": 0.019766226000001552, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_filter_property_definitions": 0.07105585399983738, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_create_property_definition": 0.06638952500009054, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_existing_property_definition": 0.06487501499998416, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_search_property_definition": 0.2106401469999355, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_definition": 0.0785092020000775, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_without_license": 0.04914871400001175, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_with_expired_license": 0.049958920000108265, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_create_and_update_object_with_tags": 0.36589083999990635, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_create_with_tags": 0.08318813200003206, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_get_tags": 0.06868003900012809, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_resolve_overlapping_tags_on_update": 0.13269314799981657, "api/test/test_team.py::TestProjectEnterpriseAPI::test_can_update_and_retrieve_person_property_names_excluded_from_correlation": 0.28547822500001985, "api/test/test_team.py::TestProjectEnterpriseAPI::test_create_project": 0.2976090040000372, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_open_team_as_org_member_but_project_admin_forbidden": 0.25120040699994206, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_private_team_as_org_member_but_project_admin_allowed": 1.1634538400002157, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_second_team_as_org_admin_allowed": 1.139140483999995, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_admin_allowed": 1.1330490459999965, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_member_forbidden": 0.2597258609999926, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_admin_allowed": 0.2670117080000409, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_and_project_admin_forbidden": 0.2484690880000926, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_forbidden": 0.23870212499991794, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_admin_allowed": 0.2587440529999867, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_and_project_admin_forbidden": 0.24982839599999807, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_forbidden": 0.2531332169999132, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_nonexistent_team": 0.24415415999999368, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member": 0.25203671099984604, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_admin": 0.2721469390000948, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_member": 0.26472059100012757, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_admin_works": 0.24244704899990666, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_member_works": 0.25422212499995567, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_outsider": 0.2528684159999557, "api/test/test_team.py::TestProjectEnterpriseAPI::test_list_teams_restricted_ones_hidden": 0.2949890850001111, "api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_administrating_organization": 0.26110486900006435, "api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_belonging_to_organization": 0.5357178230000272, "api/test/test_team.py::TestProjectEnterpriseAPI::test_non_admin_cannot_create_project": 0.24182944500000758, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_and_project_member_allowed": 0.276011363000066, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_forbidden": 0.24782418300003428, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_current_as_org_outsider_forbidden": 0.25099710400002095, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_id_as_org_outsider_forbidden": 0.24668497600009687, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_project_as_org_member_allowed": 0.2717315359999475, "api/test/test_team.py::TestProjectEnterpriseAPI::test_user_that_does_not_belong_to_an_org_cannot_create_a_project": 0.24225644800014834, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_org_admin_allowed": 0.2793525839999802, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_admin_allowed": 0.2600340619999315, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_member_forbidden": 0.2463045739999643, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_allowed": 0.26004586199996993, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_and_project_member_allowed": 0.2666466030000265, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_and_project_member_forbidden": 0.25819924999996147, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_but_project_admin_allowed": 0.2616272720000552, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_forbidden": 0.2527792150000323, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_owner_allowed": 0.27260894000016833, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_current_project_allowed": 0.26557099499996184, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_private_project_forbidden": 0.2503179979999004, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_nonexistent_project_forbidden": 0.24157024199985244, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_in_outside_organization_forbidden": 0.27633936399990944, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_that_is_not_organization_member_forbidden": 0.2887145429999691, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_admin_forbidden": 0.2496074939999744, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_member_forbidden": 0.25026989799994226, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_demote_yourself_as_org_member_and_project_admin_forbidden": 0.26032516199984457, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_allowed": 0.23874632400008977, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_member": 0.24584666900011598, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_organization_outsider": 0.24233914700005244, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_project_outsider": 0.24035623499992198, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_admin_allowed": 0.2596780570000874, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_allowed": 0.25389352100012275, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_but_project_admin_allowed": 0.2645233890001464, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_current_project_no_access": 0.3648177290000376, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_but_project_admin_allowed": 0.2809614939999392, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_forbidden": 0.2503241979999302, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_owner_allowed": 0.26769050900009006, "clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class": 0.2929962700000033, "clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class_edge_cases": 0.27079402800006847, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_backfilling_data": 4.971888362999948, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_caching_and_materializing": 3.095315684999946, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_column_types": 2.9015278380001064, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_get_columns_default": 2.193842987000153, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_materialized_column_naming": 2.9913270799999054, "clickhouse/models/test/test_action.py::TestActions::test_attributes": 0.2988137449999613, "clickhouse/models/test/test_action.py::TestActions::test_empty_selector_same_as_null": 0.29273630599993794, "clickhouse/models/test/test_action.py::TestActions::test_filter_events_by_url": 0.41622951100009686, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_direct_decendant_ordering": 0.3384301040000537, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_id": 0.3254719199999272, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nested": 0.33171846000016103, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nth_child": 0.3160601490001227, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_star": 0.3236635309999656, "clickhouse/models/test/test_action.py::TestActions::test_no_person_leakage_from_other_teams": 0.34063595300006, "clickhouse/models/test/test_action.py::TestActions::test_no_steps": 0.2719697590000578, "clickhouse/models/test/test_action.py::TestActions::test_person_property": 0.36889805700013767, "clickhouse/models/test/test_action.py::TestActions::test_person_with_different_distinct_id": 0.3076948140000013, "clickhouse/models/test/test_action.py::TestActions::test_with_class": 0.30125937000002523, "clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_slashes": 0.2782861049998928, "clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_symbols": 0.2756813859999738, "clickhouse/models/test/test_action.py::TestActions::test_with_normal_filters": 0.35708307100003367, "clickhouse/models/test/test_action.py::TestActionFormat::test_double": 0.3136324599998943, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_contains_url": 0.2865217639999855, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_exact_url": 0.2793797120000363, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_regex_url": 0.2767224939999551, "clickhouse/models/test/test_cohort.py::TestCohort::test_clickhouse_empty_query": 0.5543252930000335, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_change": 0.9782817470000964, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_get_person_ids_by_cohort_id": 0.3894971050001459, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_basic": 0.7807200240000611, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_count": 2.2720838269999604, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic": 0.6589882369999032, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic_paginating": 41.78915190299995, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_deleted_person": 0.9414504290000423, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_prop_changed": 1.0530305590000353, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_timestamp": 0.5659470409998448, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_cyclic_cohort_filter": 0.5761093540002094, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_nonexistent_other_cohort_filter": 0.5895291050001106, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_valid_other_cohort_filter": 1.4936825730001146, "clickhouse/models/test/test_cohort.py::TestCohort::test_insert_by_distinct_id_or_email": 0.8271157049998692, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic": 0.4282670170000529, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action": 0.382926007000151, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action_days": 0.43042934300001434, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_event_days": 0.41711029200018856, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_multiple_groups": 0.3619348719998925, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_with_negation": 0.35164425499965546, "clickhouse/models/test/test_cohort.py::TestCohort::test_static_cohort_precalculated": 0.6329738210001778, "clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_direct_table_insert": 0.3093282789998284, "clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_kafka_insert": 2.705604937000089, "clickhouse/models/test/test_element.py::TestClickhouseElement::test_broken_class_names": 0.22932417999982135, "clickhouse/models/test/test_element.py::TestClickhouseElement::test_elements_to_string": 0.21458290800001123, "clickhouse/models/test/test_filters.py::TestFilters::test_old_style_properties": 0.2284083089998603, "clickhouse/models/test/test_filters.py::TestFilters::test_recursive_cohort": 0.012707051000006686, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_cohorts": 0.4420695439998781, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities": 0.008221897000112222, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities_with_group_math": 0.00597537099974943, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_funnel_entities_when_aggregating_by_group": 0.0047904560001370555, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_hasdone_cohort": 0.00756629000011344, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_multi_group_cohort": 0.007232887000100163, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_no_such_cohort": 0.005863469999894733, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_static_cohort": 0.007087383999987651, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_test_accounts": 0.006433877999825199, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_when_aggregating_by_group": 0.004580554000085613, "clickhouse/models/test/test_filters.py::TestFilters::test_to_dict": 0.006405177000033291, "clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters": 0.27473465899993244, "clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters_persons": 0.3048028149999027, "clickhouse/models/test/test_filters.py::TestFiltering::test_contains": 0.26397233100010453, "clickhouse/models/test/test_filters.py::TestFiltering::test_contains_persons": 0.3044517120004002, "clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain": 0.2898376369998914, "clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain_persons": 0.376624166000056, "clickhouse/models/test/test_filters.py::TestFiltering::test_element_filter": 0.2844423739998092, "clickhouse/models/test/test_filters.py::TestFiltering::test_element_selectors": 0.2531651020001391, "clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members": 0.36418391899997005, "clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members_persons": 0.3151888370000506, "clickhouse/models/test/test_filters.py::TestFiltering::test_incomplete_data": 0.2091799820000233, "clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex": 0.27116781600011564, "clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex_persons": 0.3187159810001958, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not": 0.288168818000031, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_persons": 0.30139687400014736, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set": 0.27984402000015507, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set_persons": 0.3057095260001006, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false": 0.27038610800013885, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false_persons": 0.2919430629999624, "clickhouse/models/test/test_filters.py::TestFiltering::test_json_object": 0.3149137350001183, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple": 0.2803240239998104, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality": 0.30460111299976234, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality_persons": 0.4215305000002445, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_persons": 0.3162789799998791, "clickhouse/models/test/test_filters.py::TestFiltering::test_numerical": 0.32342752399972596, "clickhouse/models/test/test_filters.py::TestFiltering::test_numerical_person_properties": 0.41265487500004383, "clickhouse/models/test/test_filters.py::TestFiltering::test_person_cohort_properties": 0.38604161300008855, "clickhouse/models/test/test_filters.py::TestFiltering::test_regex": 0.28057177800019417, "clickhouse/models/test/test_filters.py::TestFiltering::test_regex_persons": 0.335300031000088, "clickhouse/models/test/test_filters.py::TestFiltering::test_simple": 0.29235738399984257, "clickhouse/models/test/test_filters.py::TestFiltering::test_simple_persons": 0.35399515600011, "clickhouse/models/test/test_filters.py::TestFiltering::test_true_false": 0.27782483100008903, "clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties": 0.46952276399974835, "clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties_numerical": 0.4053115249998882, "clickhouse/models/test/test_filters.py::PGTestFilters::test_old_style_properties": 0.2377099709999584, "clickhouse/models/test/test_filters.py::PGTestFilters::test_simplify_test_accounts": 0.00769589000015003, "clickhouse/models/test/test_filters.py::PGTestFilters::test_to_dict": 0.0074164850000215665, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_limit_works": 0.2611102429998482, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_search_works": 0.033543089999739095, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_type_filter_works": 0.04158598499998334, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_simple_log_is_fetched": 0.030906861000175923, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups": 0.39470870000013747, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups_invalid_type": 0.22066217000019606, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups_persons": 0.6529506100000617, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_decimals": 0.38424777800014454, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element": 0.4768091559997174, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element_with_space": 0.2467280739999751, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_event": 0.3307820540001103, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_ints_saved_as_strings": 0.41509643799986407, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_person": 0.372027435000291, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_get_property_string_expr": 0.558604196000033, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized": 0.8733003930003633, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized_ints": 0.3213774989999365, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_person_denormalized": 0.44944057299971973, "clickhouse/models/test/test_property.py::test_parse_prop_clauses_defaults": 0.011038910999786822, "clickhouse/models/test/test_property.py::test_parse_groups_persons_edge_case_with_single_filter": 0.0219223190001685, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[$browser-events-prop-trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser')) AS prop]": 0.018359583999654205, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[breakdown1-events-value-array(trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser'))) AS value]": 0.018461683000168705, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[breakdown2-events-prop-array(trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser')),trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser_version'))) AS prop]": 0.033035830000017086, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property0-expected_event_indexes0]": 0.6079174520000379, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property1-expected_event_indexes1]": 0.6169437419998758, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property2-expected_event_indexes2]": 0.6309393799997451, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching a number only matches event index 4 from test_events]": 0.6085936580002453, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching on email is not a value matches all but the first event from test_events]": 0.6035813080000025, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching on email is not a value matches all but the first two events from test_events]": 0.6022713939998994, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property6-expected_event_indexes6]": 0.634538116000158, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property7-expected_event_indexes7]": 0.6228927910001403, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property8-expected_event_indexes8]": 0.6266716119998819, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching for email property not being set matches all but the first two events from test_events]": 0.6364778209999713, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching before a unix timestamp only querying by date]": 0.6187848100000792, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching after a unix timestamp only querying by date]": 0.6239442730000064, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching before a unix timestamp querying by date and time]": 0.6478049569998348, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching after a unix timestamp querying by date and time]": 0.634974005000231, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property14-expected_event_indexes14]": 0.6089837939998688, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[match after date only value against date and time formatted property]": 0.6479464600001847, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property16-expected_event_indexes16]": 0.6338227900002948, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property17-expected_event_indexes17]": 0.6584334850001596, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property18-expected_event_indexes18]": 0.6399794660001135, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property19-expected_event_indexes19]": 0.6415282810000917, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property20-expected_event_indexes20]": 0.6605258090000916, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property21-expected_event_indexes21]": 0.6297912429999997, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching a unix timestamp in seconds with fractional seconds after the decimal point]": 0.6040659119998963, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching unix timestamp in milliseconds after a given date (which ClickHouse doesn't support)]": 0.6100420219997886, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching unix timestamp in milliseconds before a given date (which ClickHouse doesn't support)]": 0.6248679820000689, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date with timeszone offset before a given date]": 0.614944443000013, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date takes into account timeszone offset after a given date]": 0.6109687260000101, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date after a given date]": 0.6219304710000415, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching ISO 8601 format date before a given date]": 0.61399289100018, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching ISO 8601 format date after a given date]": 0.6115532620001431, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts n increasing order before a given date]": 0.6090735329999006, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts in increasing order after a given date]": 0.6043441799999982, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts separated by slashes before a given date]": 0.6590524119999372, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts separated by slashes after a given date]": 0.6034888700003194, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts increasing in size and separated by slashes before a given date]": 0.6161884159998863, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts increasing in size and separated by slashes after a given date]": 0.5963952780000454, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match dates exactly]": 0.6595950709995577, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match dates exactly against datetimes and unix timestamps]": 0.6245846419999452, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match date times exactly against datetimes with milliseconds]": 0.6236234319999312, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match date only filter after against datetime with milliseconds]": 0.6123217929998646, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match after date only values]": 0.6241406379999717, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match before date only values]": 0.6243780400000105, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property0-expected_event_indexes0]": 1.1464682299999822, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property1-expected_event_indexes1]": 0.6845689780000157, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property2-expected_event_indexes2]": 0.6881973219999509, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching a number only matches event index 4 from test_events]": 0.6706528070001241, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching on email is not a value matches all but the first event from test_events]": 0.67468018999989, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching on email is not a value matches all but the first two events from test_events]": 0.681788294999933, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property6-expected_event_indexes6]": 0.7114959349996752, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property7-expected_event_indexes7]": 0.6559901010002704, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property8-expected_event_indexes8]": 0.6601816489999237, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching for email property not being set matches all but the first two events from test_events]": 0.650861242000019, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching before a unix timestamp only querying by date]": 0.953866405999861, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching after a unix timestamp only querying by date]": 0.673482500000091, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching before a unix timestamp querying by date and time]": 0.6583991289999176, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching after a unix timestamp querying by date and time]": 0.6956765529998847, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property14-expected_event_indexes14]": 0.9202850209999269, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[match after date only value against date and time formatted property]": 0.6765595920001033, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property16-expected_event_indexes16]": 0.682421387000204, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property17-expected_event_indexes17]": 0.6825384879996363, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property18-expected_event_indexes18]": 0.9289840090000325, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property19-expected_event_indexes19]": 0.6717013590000533, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property20-expected_event_indexes20]": 0.6676615110000057, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property21-expected_event_indexes21]": 0.666431096999986, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching a unix timestamp in seconds with fractional seconds after the decimal point]": 0.922171728000194, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching unix timestamp in milliseconds after a given date (which ClickHouse doesn't support)]": 0.9374720090002029, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching unix timestamp in milliseconds before a given date (which ClickHouse doesn't support)]": 0.6901432790002673, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date with timeszone offset before a given date]": 0.9332216579998658, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date takes into account timeszone offset after a given date]": 0.7222106659999099, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date after a given date]": 0.6790922369998498, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching ISO 8601 format date before a given date]": 0.9468420860000606, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching ISO 8601 format date after a given date]": 0.686128017000101, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts n increasing order before a given date]": 0.9375744810001834, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts in increasing order after a given date]": 0.7494236400000318, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts separated by slashes before a given date]": 0.9613799530000051, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts separated by slashes after a given date]": 0.6890976509998836, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts increasing in size and separated by slashes before a given date]": 0.9825866950000091, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts increasing in size and separated by slashes after a given date]": 0.7222404290000668, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match dates exactly]": 0.9492255809998369, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match dates exactly against datetimes and unix timestamps]": 0.9698335149998911, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match date times exactly against datetimes with milliseconds]": 1.018083261999891, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match date only filter after against datetime with milliseconds]": 0.7090631539999777, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match after date only values]": 0.7670715120000295, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match before date only values]": 0.7214689940001335, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_cohorts": 3.725890371999867, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_events": 3.047647718000235, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_groups": 3.0242900459998054, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_persons": 3.060555454999985, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7822757929998261, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.4305942460000551, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.687951208999948, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 1.6083053880001899, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_breakdown_group": 5.5452675590001945, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown": 3.9979042740001205, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown_materialized": 5.507798778999813, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event": 2.0199801610001487, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_materialized": 3.374047238000003, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type": 2.005498108999973, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 3.272468886000297, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.5397863310001867, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.2960788390000744, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.11584652800002, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other": 2.1195055689997844, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.3391058800000337, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 2.0670073260000663, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 3.2149403460000485, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit": 2.9630569439998453, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit_materialized": 4.756527496999979, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person": 2.7164273569999295, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person_materialized": 3.8988054079998165, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.5111044989996572, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 3.2056975379998676, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.933803905000104, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.4455181629998606, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_multi_property_breakdown_event": 2.836137966999786, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 4.727276307000238, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_step_conversion_times": 0.6599493610001446, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_times_with_different_conversion_windows": 1.5845424330000242, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_with_multiple_incomplete_tries": 0.8317731799998, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_exclusions_between_steps": 5.9301728099997035, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_multiple_exclusions_between_steps": 5.190497372999971, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps": 3.575092067999776, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps_out_of_order_events": 3.661283586000309, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_default_funnel_days": 0.4623547660000895, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps": 0.9353196410002056, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps_materialized": 1.5653550729998642, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_step_updated_param": 1.1833059870000397, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_steps": 0.8670526570003858, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_breakdown_values_is_set_on_the_query_with_fewer_than_two_entities": 0.4343659869998646, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_conversion_window": 2.237267688999964, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_default": 0.4969645080002465, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_events": 0.8837360699999408, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusion_no_end_event": 1.079551181999932, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_full_window": 1.026446567999983, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_invalid_params": 0.23215898500006915, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions": 1.144367431000319, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions_materialized": 1.8673620879999362, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties": 0.8271193620003032, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties_materialized": 1.0735064119996878, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts": 0.5804153130000032, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts_materialized": 0.7500228820001666, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions": 0.6200668779999887, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions_materialized": 1.093523360000063, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_no_events": 0.2254575089998525, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop": 0.7718295340000623, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop_materialized": 0.9973361449997356, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters": 0.744536620999952, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_materialized": 1.2912510480000492, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity": 0.8439071689999764, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity_materialized": 1.4319459939997614, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_skipped_step": 0.6106779130000177, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions": 1.0563525309999022, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events": 0.002528428999994503, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events_materialized": 0.5409396130000914, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_materialized": 1.7551921570002378, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_cohorts_step_filter": 1.3161867170001642, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_denormalised_properties": 0.7510695259998101, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_elements_chain": 1.3938436150003781, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters": 0.5852809369996521, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters_materialized": 0.8397840669997549, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties": 4.106245068000135, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties_materialized": 6.036297158999787, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_precalculated_cohort_step_filter": 1.502701049000052, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_single_step": 0.4561229360001562, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_static_cohort_step_filter": 0.9764667089998511, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_action_events_are_excluded_from_correlations": 1.6163770519997342, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_events": 4.600307396999597, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties": 5.546551295999734, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties_materialized": 6.885209079000106, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties": 3.547724621000043, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties_materialized": 5.119495246000042, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_properties_raises_validation_error": 0.29834234200006904, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_discarding_insignificant_events": 1.8388061219998235, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_events_within_conversion_window_for_correlation": 0.7433576779999385, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties": 3.220979678000049, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_and_groups": 3.421383526000227, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_and_groups_materialized": 5.1097203729998455, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture": 2.6696261290001075, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture_materialized": 4.361194937000164, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_exclusions": 1.6586491949997253, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_materialized": 5.348084824999887, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_events_and_groups": 7.864483298999858, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_properties_and_groups": 6.620825958000296, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_properties_and_groups_materialized": 8.214822424999966, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_no_divide_by_zero_errors": 0.8341786480000337, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_basic_funnel_correlation_with_events": 3.838996248000285, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_create_funnel_correlation_cohort": 2.3665549949998876, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_funnel_correlation_on_event_with_recordings": 3.5324025419997724, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_funnel_correlation_on_properties_with_recordings": 1.4507248160000472, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_people_arent_returned_multiple_times": 0.6297126120000485, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_strict_funnel_correlation_with_recordings": 2.559967122999751, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_basic_offset": 9.108401072999868, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step": 2.4926462749997427, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person": 2.914188961000036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person_materialized": 4.276264803000004, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns": 1.4289740989997881, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_materialized": 2.3658417350000036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_with_multi_property_breakdown": 1.533098984000162, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons": 0.7060965979997036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons_materialized": 1.219194183999889, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_person_recordings": 4.5400050700000065, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step": 2.2818017430001873, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step_dropoff": 2.4398935609999626, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_second_step_dropoff": 2.4470345830002316, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_are_equivalent_to_funnel_step": 5.46171497499995, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_overrides_funnel_step": 2.3755130880001616, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_where_funnel_step_equivalence_isnt_possible": 3.627552442000251, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7495378410001194, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.3626300290002291, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.7160528720000912, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 1.5931643850001365, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_breakdown_group": 4.54438227300011, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown": 4.349313850000044, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown_materialized": 5.126916831999779, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event": 1.7950467050000043, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_materialized": 2.822080638999978, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type": 1.8133615169999757, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.879918100000168, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.512550580000152, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4361708080000426, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.304778130999921, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other": 1.8328721320001478, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.004101483999875, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 1.763694328999918, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 2.979596810999965, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit": 2.8132434560002366, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 4.645683301999952, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person": 2.3058552509999117, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person_materialized": 3.4646833909998804, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.379202059000363, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 2.7685065130001476, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.684304588000032, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.3344074489998548, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_multi_property_breakdown_event": 2.4793493049999142, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 4.207911139999851, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_strict_breakdown_events_with_multiple_properties": 1.5766085950001525, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_step_conversion_times": 0.6149737180003285, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_times_with_different_conversion_windows": 1.4428837680002289, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 0.7225563459999194, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_advanced_strict_funnel": 2.6134847269997863, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel": 1.6607829540000694, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel_conversion_times": 1.2292291329997624, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_first_step": 2.296423017000052, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step": 2.1474556160001157, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step_dropoff": 2.1625305879999814, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_strict_funnel_person_recordings": 3.5188653759998942, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_third_step": 2.0835885869998947, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step": 2.5772637250001935, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step_duplicate_events": 0.002426427000273179, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_total": 4.31286035800008, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_strict": 2.3168602619998637, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_unordered": 5.60864835700022, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_custom_bin_count_single_step": 1.9253001889999268, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_date_range": 1.0679053960000147, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_results_for_day_interval": 0.8982599549999577, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_day_interval": 0.8069012949999887, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_from_second_step": 0.7320546420000937, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_event": 0.7298650160000761, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_person": 0.9575054110000565, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_trend_cohort_breakdown": 0.9841029130002426, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_hour_interval": 0.5078924869999355, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_month_interval": 0.8344737100001112, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_no_event_in_period": 0.5546642199999496, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows": 1.1495319990001462, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_strict_funnel": 0.5916420429998652, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_unordered_funnel": 2.1021423269999104, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_only_one_user_reached_one_step": 1.298592218000067, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_period_not_final": 0.5681713399999353, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_steps_performed_in_period_but_in_reverse": 0.5510568449999482, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_to_second_step": 0.6902017239999623, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_two_runs_by_single_user_in_one_period": 0.5667538240002159, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_week_interval": 0.8349170629999207, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_window_size_one_day": 0.901621619000025, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7634423929998775, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.3647311220001939, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.6912151000001359, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 3.4105473849999726, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_breakdown_group": 14.462301069999967, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown": 7.627433540000311, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown_materialized": 10.432332738000241, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event": 4.080008904000124, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_materialized": 6.435513755999864, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type": 4.349213960000043, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 6.414773887999672, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 2.543372255999884, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.509714688000031, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.318202071000087, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other": 4.332144545999881, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 6.480769372000168, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 4.08813578399986, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 6.616847513000039, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit": 3.3800425200001882, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 5.39041776199997, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person": 6.131225319999885, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person_materialized": 8.627335468000183, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 2.300822634000042, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 6.440125032999958, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 9.456629758999952, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 3.6358321180002804, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_multi_property_breakdown_event": 6.256030123999835, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 9.48903565899991, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_step_conversion_times": 0.9614129660001254, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_times_with_different_conversion_windows": 2.551640565000298, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 1.3951392479998503, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_advanced_funnel_multiple_exclusions_between_steps": 9.112437646999979, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel": 4.173162166999873, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel_conversion_times": 2.6952539869998873, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_big_multi_step_unordered_funnel": 5.000847975999704, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_full_window": 1.5395832749998135, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_invalid_params": 0.23409100200001376, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_single_event_unordered_funnel": 0.5164445130001241, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_first_step": 2.764960432999942, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_invalid_steps": 0.34054918400011047, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step": 2.449346109000089, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step_dropoff": 2.4558980499998597, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_second_step_dropoff": 2.5277033079999, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_unordered_funnel_does_not_return_recordings": 3.426326071999938, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_filter_missing_order": 0.2188882050002121, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_ordered": 0.004179027999953178, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_strict": 0.005254933999822242, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_unordered": 0.005853037000179029, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots": 8.100585236000143, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots_with_specific_limit_and_offset": 4.386596007999742, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata": 3.2898731759996735, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_does_not_leak_teams": 0.3159621249999418, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_non_existant_session_id": 0.25849885699994957, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots": 0.29906351599993286, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_does_not_leak_teams": 0.29122916599976634, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_with_no_such_session": 0.22190202200022213, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter": 0.883022057999824, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter_materialized": 1.8651401509998777, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_filters_at_once": 0.5978954299998804, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys": 0.4102441289999206, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys_with_entity_filter": 0.47025691299973005, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query": 0.4093991229999574, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query_materialized": 0.8523190619998786, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_from_filter": 0.4867546189998393, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_to_filter": 0.5144772959999955, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_duration_filter": 0.5255066670001725, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter": 0.6503184659998169, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_matching_with_no_session_id": 1.1075125950001166, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_matching_with_no_session_id_materialized": 1.1731051129997923, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_cohort_properties": 1.3852593729998262, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_cohort_properties_materialized": 1.523237257000119, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_matching_on_session_id": 1.1149445409998862, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_matching_on_session_id_materialized": 1.2101223509998817, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_person_properties": 0.7940943860000971, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_person_properties_materialized": 0.9941151639998225, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties": 0.6748329199999716, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties_materialized": 1.6434011219998865, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_multiple_event_filters": 0.6327269520002119, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_pagination": 0.6969983629999206, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_person_id_filter": 0.4529786000000513, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_that_spans_time_bounds": 0.3868296759999339, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_without_fullsnapshot_dont_appear": 0.3984844509998311, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recordings_dont_leak_data_between_teams": 0.4271707359996526, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_teams_dont_leak_event_filter": 0.4586310360002699, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_group_props": 0.7437108610001815, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props": 0.5387107490003018, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_materialized": 1.4488532880000093, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_with_entity_filter": 0.8219678710001972, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_group_types_to_query": 0.24315415899991422, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_materialized_columns_checks": 0.5975584319999143, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter": 0.2454650730001049, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter_with_actions": 0.23375229800035413, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column": 0.23788502500019604, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column_with_actions": 0.24747188600008485, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_account_filters": 1.074630889999753, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_action_with_person_property_filter": 0.5016966169998796, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_basic_event_filter": 0.3339851410000847, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_cohort_filter": 0.5515465369996946, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_denormalised_props": 0.56255590700016, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_element": 0.5044206340000983, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_entity_filtered_by_cohort": 0.7179379000001518, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_event_properties_filter": 0.46707668399972135, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_groups_filters": 0.7906452509998871, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_groups_filters_mixed": 0.8496953309997934, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_person_properties_filter": 0.48780971699989095, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_static_cohort_filter": 0.4750795359998392, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_filter_test_accounts": 1.1058018660000926, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_days": 1.1543453759998101, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_months": 1.8981988289999663, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_weeks": 1.4133225490002133, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_edge_cases": 1.127395229000058, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend": 0.8701538789998722, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_action": 0.9258625370000573, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_all_time": 0.936211503000095, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_months": 0.9079583220000131, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people": 1.173527224000054, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people_paginated": 7.949091882000175, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_prop_filtering": 0.7907189719999224, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_weeks": 0.9017556829999194, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trends_distinct_id_repeat": 0.6327626570000575, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_test_account_filters_with_groups": 1.48633083000027, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_current_url_paths_and_logic": 3.3881451219997416, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_custom_event_paths": 0.7395652419997987, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties": 3.294957727999872, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties_materialized": 5.367241918000218, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_exclusion_filters_with_wildcards": 1.0880908659999022, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters": 2.522247999999763, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters_across_single_person": 1.6449643999999353, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff": 7.4565931380000166, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff_with_group_filter": 16.79978533999997, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step": 3.040937324000197, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_limit": 8.707202808000147, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_respects_conversion_window": 6.788085211999942, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_dropoff": 3.039069284000334, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_step": 3.0428915160000543, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_between_step": 8.489838148000217, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping": 2.2948687670000254, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement": 1.0123477069998899, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement_multiple": 1.3208543910000117, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_event_ordering": 2.798366987999998, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_across_people": 0.6912756439999157, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_with_evil_input": 0.6231273050000254, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_groups_filtering": 3.6725187910001296, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_min_edge_weight": 3.1614029789998312, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording": 0.8922667089998413, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_for_dropoff": 3.256045671000038, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_with_no_window_or_session_id": 1.79887409700018, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_with_start_and_end": 3.5140249469998253, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_removes_duplicates": 0.6666982730000655, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_respect_session_limits": 0.6278188260000661, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end": 0.7218085800000154, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end_materialized": 1.7910657639999954, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_in_window": 0.6285672640001394, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_person_dropoffs": 5.015035291999766, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_properties_filter": 0.7640942919999816, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start": 1.5359508349997668, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end": 2.95206028600046, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end_materialized": 4.6532668120000835, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_dropping_orphaned_edges": 0.9941630549999445, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_properties_queried_using_path_filter": 0.3207866830000512, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_screen_paths": 0.7595411319996401, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_conversion_times": 0.6413550639999812, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_limit": 3.2503886500001045, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest": 0.011457969999810302, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_and_cross_edges": 0.005490134000183389, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_edges": 0.004861230999722466, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_no_start_point": 0.006591542000251138, "clickhouse/queries/test/test_person_distinct_id_query.py::test_person_distinct_id_query": 0.014788990999932139, "clickhouse/queries/test/test_person_query.py::test_person_query": 0.45500310099987473, "clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_requested_fields": 0.4221900990000904, "clickhouse/queries/test/test_person_query.py::test_person_query_with_entity_filters": 0.41167083399977855, "clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_fields": 0.3937601220000033, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_day_interval": 0.6646724899997025, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_filter_test_accounts": 0.7632908980001503, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_first_time_retention": 0.9653550419998282, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_aggregating": 2.042867272999956, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_filtering": 2.2413548679999167, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_in_period": 1.1467386009996972, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_hour_interval": 0.6959896920000119, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_interval_rounding": 0.693231373999879, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_month_interval": 0.7234894700000041, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_action_start_point": 0.7137843070001963, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_default": 0.6554696299999705, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_event_action": 0.6607448639999802, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_invalid_properties": 0.24224496500005444, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_multiple_events": 0.7805070379999961, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_basic": 0.6939605789998495, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_first_time": 1.2412672119999115, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_perieod_first_time": 1.008047906000229, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period": 0.7215799569999035, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_paginated": 14.853945221999993, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_properties": 0.7289960739999515, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_user_properties": 0.7912504559999434, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_week_interval": 0.7061474360000375, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_filtering": 0.7046399240000483, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop": 0.5277108380000755, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop_materialized": 1.096348828000373, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math": 0.546558055000105, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math_action": 0.5769726329997411, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming": 0.6698282149998249, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming_materialized": 1.368367717000183, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_all_time_timerange": 0.6478839739997966, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering": 0.7984168450002471, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_materialized": 1.5399874229999568, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency": 0.7952805250001802, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency_materialized": 1.6412210749999758, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_bar_chart_by_value": 0.623295115999781, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math": 0.6061812049999844, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math_materialized": 1.225129749999951, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort": 1.244574845000443, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort_materialized": 1.7165280110000367, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_empty_cohort": 0.44373827500021434, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_group_props": 1.1524356259997148, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_group_props_with_person_filter": 1.1491034040000159, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property": 1.1675308280000536, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie": 0.6823815790000936, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie_materialized": 0.9768878610000229, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_property_pie": 0.8225497539997377, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filter_by_precalculated_cohort": 1.0064445559999058, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering": 0.9175262660000953, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value": 0.6286065680001229, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value_materialized": 1.216997366999749, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit": 1.082741499000349, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit_materialized": 1.8370366620001732, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_materialized": 1.6425213249999615, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons": 0.6509509479999451, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_materialized": 0.9206755560001056, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props": 0.7299601499996697, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props_materialized": 1.4902757960003328, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties": 0.6779576119997728, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_in_new_format": 1.2840342050001254, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_materialized": 2.140008432000286, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_label": 0.23358455700008562, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts": 1.3039251660002265, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts_materialized": 1.838172984999801, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort": 0.9041514330001519, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort_materialized": 1.2822540989998288, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter": 0.7093174209999233, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter_materialized": 1.4340936560001865, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter": 0.5447207739998703, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_groups": 0.881371518999913, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_materialized": 1.1038812140000118, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter": 1.1409580429997277, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter_materialized": 2.18452530799982, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains": 0.7873676830001841, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains_materialized": 1.4613115239997114, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_custom_range_timerange": 0.6252466060000188, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_filtering": 0.8750444849999894, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering": 1.0275893790001192, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_materialized": 1.7095566189998408, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter": 1.0363791869997385, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter_materialized": 2.293533518000004, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_day_interval": 0.5372074260003501, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering": 0.708318808000513, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering_materialized": 0.9376633669999137, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_by_precalculated_cohort": 0.8165361639998991, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort": 0.509648006000134, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort_materialized": 0.7256666099997346, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts": 0.8450639929997124, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts": 0.5007618029999321, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts_materialized": 0.6885697419997996, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_materialized": 1.682076362000771, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props": 0.3993766499997946, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props_materialized": 1.4885540589998527, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_group_props": 0.8323315830002684, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_hour_interval": 0.47221817999979976, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering": 1.2096229829999174, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown": 1.5633576120008001, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown_materialized": 2.004998981999506, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding": 0.5565811219998977, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding_monthly": 0.4570427909998216, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last14days_timerange": 0.6957263019999118, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last24hours_timerange": 0.5773279580007511, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last30days_timerange": 0.671400227000504, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last48hours_timerange": 0.563124395000159, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last7days_timerange": 0.5733055109999441, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last90days_timerange": 0.8081714809991354, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering": 0.8303997339994567, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering_materialized": 1.5396787710001263, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering": 2.167772586999945, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering_materialized": 3.6218609810002818, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering": 0.8022209000000657, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering_materialized": 1.5255202879993703, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_month_interval": 0.4944628030007152, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_no_props": 0.37846128799992584, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering": 2.0922726060002788, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering_materialized": 3.68327783299992, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering": 2.095263717999842, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering_materialized": 3.5037541609999607, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering": 2.082477471999937, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering_materialized": 3.5499886600000536, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering": 0.7360381259995847, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering_materialized": 1.4257766279997668, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering": 0.6686522629997853, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering_materialized": 0.9348132760005683, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_previous_month_timerange": 0.6710353899998154, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering": 0.6369250029997602, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering_materialized": 1.270641360999889, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_response_empty_if_no_events": 0.5093135560000519, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_should_throw_exception": 0.519960675999755, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering": 0.8352491399991777, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering_materialized": 1.5079321429998345, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_this_month_timerange": 0.6460136019995844, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_today_timerange": 0.5175185489997602, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate": 0.5673361120002482, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts": 0.7511300900000606, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts_materialized": 0.9816843950002294, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_math": 0.7286230330000762, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func": 1.7888063139994301, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func_materialized": 3.4919757630000277, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_compare": 0.8258102309996502, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_for_non_existing_action": 0.3714096969997627, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_math_without_math_property": 0.21842486899959113, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day": 0.6987832960003288, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_48hours": 0.6582537359995513, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_cumulative": 0.5893926579997242, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties": 0.8432286250003926, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties_materialized": 1.2663524069998857, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_dau": 0.6936826360006307, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math": 0.6170514700002059, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math_materialized": 1.2664123059998929, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_week_interval": 0.6634324940000624, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_year_to_date_timerange": 0.6772948520001592, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_yesterday_timerange": 0.5290308759995241, "clickhouse/queries/test/test_util.py::test_get_earliest_timestamp": 0.3531473869998081, "clickhouse/queries/test/test_util.py::test_get_earliest_timestamp_with_no_events": 0.25394326900050146, "clickhouse/queries/test/test_util.py::test_parse_breakdown_cohort_query": 0.28484161800042784, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown": 0.90428451400021, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_cohort": 0.9874005520000537, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_counts_of_different_events_one_without_events": 0.7694312909998189, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_mismatching_sizes": 0.9089147670001694, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_compare": 0.8966546269998616, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_cumulative": 0.7133831579999423, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_day_interval": 0.6950103509998371, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_event_properties": 0.716653094999856, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_formula": 2.047238822000054, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_global_properties": 0.7351242009999623, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_hour_interval": 0.7155216799997106, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_interval_rounding": 0.47989501900019604, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_month_interval": 0.6844273279994013, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_multiple_events": 0.7808311170001616, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_pie": 0.6651766129998578, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_properties_with_escape_params": 0.7508227800003624, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_week_interval": 0.732694475000244, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_group_query_includes_recording_events": 0.5384214800001246, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_person_query_does_not_include_recording_events_if_flag_not_set": 0.5219140760004848, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_person_query_includes_recording_events": 0.5095445249999102, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_calculate_usage": 0.4276355029996921, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_event_properties_or_related_updates_property_definitions": 18.886705246000474, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_team_events_or_related_updates_event_definitions": 18.96476181700018, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_cache_eviction": 0.1144139829998494, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_caching_client": 0.008758400000260735, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_client_strips_comments_from_request": 0.015356273000179499, "clickhouse/test/test_middleware.py::TestQueryMiddleware::test_query": 1.1683267019998311, "clickhouse/test/test_system_status.py::test_system_status": 0.11663930700024139, "clickhouse/views/test/test_clickhouse_experiment_secondary_results.py::ClickhouseTestExperimentSecondaryResults::test_basic_secondary_metric_results": 2.3230102390002685, "clickhouse/views/test/test_clickhouse_experiment_secondary_results.py::ClickhouseTestExperimentSecondaryResults::test_secondary_metric_results_for_multiple_variants": 1.734905845999947, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_can_list_experiments": 0.27526728499969977, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_cannot_list_experiments_without_proper_license": 0.028728121999392897, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_cant_reuse_existing_feature_flag": 0.047463832999710576, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_create_multivariate_experiment": 0.14148128499982704, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_invalid_multivariate_experiment_no_control": 0.034659888000078354, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_updating_basic_experiment": 0.07716886400021394, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_updating_experiment_with_group_aggregation": 0.10900962099958633, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_deleting_experiment_soft_deletes_feature_flag": 0.2556160649996855, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_deleting_feature_flag_deletes_experiment": 0.07549634499991953, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_doesnt_have_FF_active": 0.05245168700002978, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_doesnt_have_FF_active_even_after_updates": 0.10859391699978005, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_participants_update_updates_FF": 0.11081524199971682, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_getting_archived_experiments": 0.11277496400043674, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_invalid_create": 0.04871064600001773, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_invalid_update": 0.06834576599976572, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_launching_draft_experiment_activates_FF": 0.08072240600040459, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestFunnelExperimentResults::test_experiment_flow_with_event_results": 1.6418293030001223, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestFunnelExperimentResults::test_experiment_flow_with_event_results_for_three_test_variants": 2.2204734159995496, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results": 1.967549980000058, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results_for_three_test_variants": 1.763380889000473, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results_for_two_test_variants_with_varying_exposures": 1.5084854270003234, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_empty_property_values": 0.3213216059998558, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_groups_list": 0.3098136769995108, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_property_definitions": 0.29085323899971627, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_property_values": 0.2954054760002691, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_related_groups": 0.8371019810001599, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_related_groups_person": 0.9394128149997414, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_retrieve_group": 0.324528397999984, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_update_groups_metadata": 0.26823237400003563, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format": 1.0082933800003957, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_get": 1.9760261089995765, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_post": 1.9363886709998042, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_path_start_key_constraints": 0.9532877379997444, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_start_point_constraints": 1.101382413999545, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination": 2.400572041000487, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination_with_deleted": 10.387213124000027, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_create_paths_cohort": 0.9728452740000648, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_path_types": 1.332943140000225, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_start_point": 1.4490154019995316, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_funnel_path_post": 2.0893301179994523, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic": 0.6426262409995616, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic_exclusions": 0.6892590589995962, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_path_groupings": 1.144658520000121, "clickhouse/views/test/test_clickhouse_retention.py::RetentionTests::test_retention_test_account_filters": 2.80657780599995, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_get_retention_cohort_breakdown": 1.2412932519996502, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_get_retention_cohort_breakdown_with_retention_type_target": 1.185107022000011, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property": 1.1811183760005406, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_and_retrieve_people": 0.8958119679996344, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_and_retrieve_people_materialized": 1.7925422469998011, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_materialized": 2.1258863269999893, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_person_property": 1.5877514960002372, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_person_property_materialized": 2.1877489099997547, "clickhouse/views/test/test_clickhouse_retention.py::IntervalTests::test_can_get_retention_week_interval": 1.199537519000387, "clickhouse/views/test/test_clickhouse_retention.py::RegressionTests::test_can_get_actors_and_use_percent_char_filter": 0.6791626849999375, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_default_limit_of_chunks": 0.6475478219999786, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_metadata_for_chunked_session_recording": 19.598255986999902, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_session_recordings": 0.4766140629999427, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_single_session_recording_metadata": 0.35214388900067206, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_snapshots_for_chunked_session_recording": 22.205296735999582, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_request_to_another_teams_endpoint_returns_401": 0.2614651330000015, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_doesnt_exist": 0.28716912200025035, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_for_user_with_multiple_distinct_ids": 0.43796151300011843, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_with_no_person": 0.2834169779998774, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recordings_dont_leak_teams": 0.45294108100051744, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_setting_viewed_state_of_session_recording": 0.7899261609995847, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_single_session_recording_doesnt_leak_teams": 0.32720627200023955, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_viewed_state_of_session_recording": 0.4179604890000519, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_aggregate_by_groups": 1.6487348940004267, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_compare": 0.7141587269998126, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_filter_by_group_properties": 1.6667034380002406, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_filter_test_accounts": 0.7670524239997576, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness": 0.7002249709998978, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_action": 0.6573319899998751, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_all_time": 0.6746182829997451, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_entity_filter": 0.6452071540006727, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_hours": 0.6560733739997886, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_months": 0.6639575650001461, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_endpoint": 0.6385922779995781, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_paginated": 9.333654103999834, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_with_entity_filter": 0.5848976590004895, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_prop_filter": 0.6334266020007817, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_weeks": 0.6371774450003613, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_breakdown_with_filter": 1.1029224670000985, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_breakdown_with_filter_materialized": 1.8954865550003888, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_aggregate": 0.8149526380002499, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_basic": 0.9567830269998012, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_clean_arg": 0.9351838770003269, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_compare": 0.8264858539996567, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_cumulative": 2.981720184000551, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrendsGroups::test_aggregating_by_group": 0.9451326820008035, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_aggregation_with_groups": 1.436297280999952, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_group_aggregation_with_groups_entity_filtering": 1.4970255660000475, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_with_groups_entity_filtering": 1.2812429720006548, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_with_groups_global_filtering": 1.623736411999289, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_request_with_no_steps_doesnt_fail": 0.29538281300028757, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_with_properties": 1.9257532009996794, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_funnel_steps": 0.9482588349997059, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_historical_events": 0.833621951999703, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_picks_up_events_for_odds_ratios": 0.8719883809999374, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_is_partitioned_by_team": 1.3196054000000004, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_events_correlation_endpoint_provides_people_drill_down_urls": 1.481358815999556, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_events_with_properties_correlation_endpoint_provides_people_drill_down_urls": 1.7850596209996183, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_funnel_correlation_with_event_properties_autocapture": 1.8398892359996353, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_properties_correlation_endpoint_provides_people_drill_down_urls": 2.1810598590000154, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_requires_authn": 0.23988138899994738, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_format": 0.925652576000175, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination": 9.797648144999584, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination_with_deleted": 10.813566740999704, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdown_basic_pagination": 9.947067232000336, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdowns": 1.1854758939998646, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelCorrelationActors::test_pagination": 2.1129862930001764, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_basic_format": 1.1836482720004824, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_strict_order": 0.8608176520001507, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_unordered": 1.8821931039997253, "clickhouse/views/test/funnel/test_clickhouse_funnel_unordered.py::ClickhouseTestUnorderedFunnelGroups::test_unordered_funnel_with_groups": 2.270931663999818, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_interface": 0.008639997000500443, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce": 0.3887700590003078, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce_and_consume": 0.34380175500018595, "models/test/test_event_definition_model.py::TestEventDefinition::test_default_verified_false": 0.23576914399973248, "models/test/test_event_definition_model.py::TestEventDefinition::test_errors_on_invalid_verified_by_type": 0.007267781999871659, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_calculate_cohorts": 0.24113980399988577, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_funnels_cohort": 0.617903429999842, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_stickiness_cohort": 0.38702683999963483, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort": 0.530424948000018, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort_arg_test": 0.5648505340000156, "tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_error": 6.438404195999738, "tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_usage": 2.267681829000594, "tasks/test/test_send_license_usage.py::SendLicenseUsageNoLicenseTest::test_no_license": 0.3907684809996681, "tasks/test/test_status_report.py::TestStatusReport::test_instance_status_report_event_counts": 2.1916582759999983, "tasks/test/test_status_report.py::TestStatusReport::test_status_report": 0.14247239700034697, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_duplicate_distinct_ids": 0.26345755400006965, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_multiple_ids_per_person": 0.2914452680006434, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_plugins": 0.14896207099991443, "clickhouse/models/test/test_property.py::test_combine_group_properties": 0.002199124000071606, "clickhouse/models/test/test_property.py::test_with_materialized_columns": 0.0018008200004260289, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_absolute_loss_less_than_one_percent_but_not_significant": 0.3467312879997735, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results": 0.3454197720002412, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants": 7.3001690630003395, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants_almost_equal": 9.130410286999904, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants_much_better_than_control": 14.885644429999957, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_two_test_variants": 0.7631933580000805, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_two_test_variants_almost_equal": 0.5713543069996376, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_simulation_result_is_close_to_closed_form_solution": 0.14891976999933831, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_count_data_probability": 0.0025660299997980474, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results": 0.13598782600001869, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results_small_numbers": 0.11909343700017416, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results_with_three_variants": 0.2792237309995471, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_significance_when_target_variants_underperform": 0.006684674000098312, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_results_with_different_exposures": 0.27084133800008203, "clickhouse/queries/funnels/test/test_funnel.py::test_with_materialized_columns": 0.0020041239999954996, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestCorrelationFunctions::test_are_results_insignificant": 0.002225425000233372, "clickhouse/queries/funnels/test/test_funnel_correlation.py::test_with_materialized_columns": 0.0018001209996327816, "clickhouse/queries/funnels/test/test_funnel_persons.py::test_with_materialized_columns": 0.0017705199998090393, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::test_with_materialized_columns": 0.0017216200003531412, "clickhouse/queries/test/test_breakdown_props.py::test_with_materialized_columns": 0.0016819190000205708, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_blank": 0.0019311209994157252, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_filtering": 0.0032180359999074426, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_filtering_with_custom_key_names": 0.0026504300003580283, "clickhouse/queries/test/test_paths.py::test_with_materialized_columns": 0.0018291199999111996, "clickhouse/queries/test/test_trends.py::test_with_materialized_columns": 0.0016628190001028997, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS cohortpeople ON CLUSTER posthog\\n(\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64,\\n sign Int8\\n) ENGINE = CollapsingMergeTree(sign)\\nOrder By (team_id, cohort_id, person_id)\\n\\n]": 0.005352860000584769, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_static_cohort ON CLUSTER posthog\\n(\\n id UUID,\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, cohort_id, person_id, id)\\n\\n]": 0.002348525999877893, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nORDER BY (id, event_uuid, distinct_id, team_id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0026635300000634743, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW IF NOT EXISTS events_dead_letter_queue_mv ON CLUSTER posthog\\nTO posthog_test.events_dead_letter_queue\\nAS SELECT\\nid,\\nevent_uuid,\\nevent,\\nproperties,\\ndistinct_id,\\nteam_id,\\nelements_chain,\\ncreated_at,\\nip,\\nsite_url,\\nnow,\\nraw_payload,\\nerror_timestamp,\\nerror_location,\\nerror,\\ntags,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events_dead_letter_queue\\n]": 0.0022367260003193223, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('localhost:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0023466259995075234, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , $group_0 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_0')) COMMENT 'column_materializer::$group_0'\\n , $group_1 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_1')) COMMENT 'column_materializer::$group_1'\\n , $group_2 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_2')) COMMENT 'column_materializer::$group_2'\\n , $group_3 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_3')) COMMENT 'column_materializer::$group_3'\\n , $group_4 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_4')) COMMENT 'column_materializer::$group_4'\\n , $window_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$window_id')) COMMENT 'column_materializer::$window_id'\\n , $session_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$session_id')) COMMENT 'column_materializer::$session_id'\\n\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMM(timestamp)\\nORDER BY (team_id, toDate(timestamp), event, cityHash64(distinct_id), cityHash64(uuid))\\n\\n\\n]": 0.0023610260000168637, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'localhost:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0024021270000957884, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW events_mv ON CLUSTER posthog\\nTO posthog_test.events\\nAS SELECT\\nuuid,\\nevent,\\nproperties,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nelements_chain,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events\\n]": 0.0023286249993361707, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, group_type_index, group_key)\\n\\n]": 0.0024116260005939694, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.002340027000172995, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW groups_mv ON CLUSTER posthog\\nTO posthog_test.groups\\nAS SELECT\\ngroup_type_index,\\ngroup_key,\\ncreated_at,\\nteam_id,\\ngroup_properties,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_groups\\n]": 0.002318927000487747, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, id)\\n\\n]": 0.0023635270003978803, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.0023795279998921615, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_mv ON CLUSTER posthog\\nTO posthog_test.person\\nAS SELECT\\nid,\\ncreated_at,\\nteam_id,\\nproperties,\\nis_identified,\\nis_deleted,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person\\n]": 0.002349227000195242, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Int8 DEFAULT 1,\\n is_deleted Int8 ALIAS if(_sign==-1, 1, 0)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = CollapsingMergeTree(_sign)\\nOrder By (team_id, distinct_id, person_id)\\n\\n]": 0.002360926000164909, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.002332624999780819, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_distinct_id_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id\\nAS SELECT\\ndistinct_id,\\nperson_id,\\nteam_id,\\ncoalesce(_sign, if(is_deleted==0, 1, -1)) AS _sign,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person_distinct_id\\n]": 0.0023313260003305913, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n, _partition UInt64\\n) ENGINE = ReplacingMergeTree(version)\\n\\n ORDER BY (team_id, distinct_id)\\n SETTINGS index_granularity = 512\\n ]": 0.002462426999500167, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.002362025999900652, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_distinct_id2_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id2\\nAS SELECT\\nteam_id,\\ndistinct_id,\\nperson_id,\\nis_deleted,\\nversion,\\n_timestamp,\\n_offset,\\n_partition\\nFROM posthog_test.kafka_person_distinct_id2\\n]": 0.002344527000332164, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('localhost:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0023709269999017124, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY plugin_id ORDER BY (team_id, id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0024164280002878513, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW plugin_log_entries_mv ON CLUSTER posthog\\nTO posthog_test.plugin_log_entries\\nAS SELECT\\nid,\\nteam_id,\\nplugin_id,\\nplugin_config_id,\\ntimestamp,\\nsource,\\ntype,\\nmessage,\\ninstance_id,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_plugin_log_entries\\n]": 0.0023598259999744187, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , has_full_snapshot BOOLEAN materialized JSONExtractBool(snapshot_data, 'has_full_snapshot')\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMMDD(timestamp)\\nORDER BY (team_id, toHour(timestamp), session_id, timestamp, uuid)\\n\\nSETTINGS index_granularity=512\\n]": 0.002342526000120415, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW session_recording_events_mv ON CLUSTER posthog\\nTO posthog_test.session_recording_events\\nAS SELECT\\nuuid,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nsession_id,\\nwindow_id,\\nsnapshot_data,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_session_recording_events\\n]": 0.0023197260002234543, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.002362226999593986, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS cohortpeople ON CLUSTER posthog\\n(\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64,\\n sign Int8\\n) ENGINE = CollapsingMergeTree(sign)\\nOrder By (team_id, cohort_id, person_id)\\n\\n]": 0.0030694339993715403, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_static_cohort ON CLUSTER posthog\\n(\\n id UUID,\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, cohort_id, person_id, id)\\n\\n]": 0.00296903399976145, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nORDER BY (id, event_uuid, distinct_id, team_id)\\n\\nSETTINGS index_granularity=512\\n]": 0.002974233999793796, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW IF NOT EXISTS events_dead_letter_queue_mv ON CLUSTER posthog\\nTO posthog_test.events_dead_letter_queue\\nAS SELECT\\nid,\\nevent_uuid,\\nevent,\\nproperties,\\ndistinct_id,\\nteam_id,\\nelements_chain,\\ncreated_at,\\nip,\\nsite_url,\\nnow,\\nraw_payload,\\nerror_timestamp,\\nerror_location,\\nerror,\\ntags,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events_dead_letter_queue\\n]": 0.002508528998987458, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('localhost:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0026259289998051827, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , $group_0 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_0')) COMMENT 'column_materializer::$group_0'\\n , $group_1 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_1')) COMMENT 'column_materializer::$group_1'\\n , $group_2 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_2')) COMMENT 'column_materializer::$group_2'\\n , $group_3 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_3')) COMMENT 'column_materializer::$group_3'\\n , $group_4 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_4')) COMMENT 'column_materializer::$group_4'\\n , $window_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$window_id')) COMMENT 'column_materializer::$window_id'\\n , $session_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$session_id')) COMMENT 'column_materializer::$session_id'\\n\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMM(timestamp)\\nORDER BY (team_id, toDate(timestamp), event, cityHash64(distinct_id), cityHash64(uuid))\\n\\n\\n]": 0.002947933000541525, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'localhost:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0026926309997179487, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW events_mv ON CLUSTER posthog\\nTO posthog_test.events\\nAS SELECT\\nuuid,\\nevent,\\nproperties,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nelements_chain,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events\\n]": 0.00259983000023567, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, group_type_index, group_key)\\n\\n]": 0.0029325320001589716, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.0026240289998895605, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW groups_mv ON CLUSTER posthog\\nTO posthog_test.groups\\nAS SELECT\\ngroup_type_index,\\ngroup_key,\\ncreated_at,\\nteam_id,\\ngroup_properties,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_groups\\n]": 0.002606729000035557, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, id)\\n\\n]": 0.0029596330005006166, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.002599428999928932, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_mv ON CLUSTER posthog\\nTO posthog_test.person\\nAS SELECT\\nid,\\ncreated_at,\\nteam_id,\\nproperties,\\nis_identified,\\nis_deleted,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person\\n]": 0.0025470290001976537, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Int8 DEFAULT 1,\\n is_deleted Int8 ALIAS if(_sign==-1, 1, 0)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = CollapsingMergeTree(_sign)\\nOrder By (team_id, distinct_id, person_id)\\n\\n]": 0.0028019319997838465, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.0024372270004278107, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_distinct_id_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id\\nAS SELECT\\ndistinct_id,\\nperson_id,\\nteam_id,\\ncoalesce(_sign, if(is_deleted==0, 1, -1)) AS _sign,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person_distinct_id\\n]": 0.0024399280000579893, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n, _partition UInt64\\n) ENGINE = ReplacingMergeTree(version)\\n\\n ORDER BY (team_id, distinct_id)\\n SETTINGS index_granularity = 512\\n ]": 0.002731131000473397, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.002548828999806574, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_distinct_id2_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id2\\nAS SELECT\\nteam_id,\\ndistinct_id,\\nperson_id,\\nis_deleted,\\nversion,\\n_timestamp,\\n_offset,\\n_partition\\nFROM posthog_test.kafka_person_distinct_id2\\n]": 0.002540529000270908, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('localhost:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0025744280005710607, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY plugin_id ORDER BY (team_id, id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0029442329996527405, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW plugin_log_entries_mv ON CLUSTER posthog\\nTO posthog_test.plugin_log_entries\\nAS SELECT\\nid,\\nteam_id,\\nplugin_id,\\nplugin_config_id,\\ntimestamp,\\nsource,\\ntype,\\nmessage,\\ninstance_id,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_plugin_log_entries\\n]": 0.002461029000187409, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , has_full_snapshot BOOLEAN materialized JSONExtractBool(snapshot_data, 'has_full_snapshot')\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMMDD(timestamp)\\nORDER BY (team_id, toHour(timestamp), session_id, timestamp, uuid)\\n\\nSETTINGS index_granularity=512\\n]": 0.0030223339995245624, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW session_recording_events_mv ON CLUSTER posthog\\nTO posthog_test.session_recording_events\\nAS SELECT\\nuuid,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nsession_id,\\nwindow_id,\\nsnapshot_data,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_session_recording_events\\n]": 0.0024095269995996205, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.0024596260000180337, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('localhost:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0028122310004619067, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'localhost:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0026832290000129433, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.002731829999902402, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.002687929999865446, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.0027057309994233947, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.00273703100037892, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('localhost:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0027253299999756564, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.0026919300003100943, "clickhouse/sql/test/test_schema.py::test_create_kafka_events_with_disabled_protobuf": 0.0026012289999925997, "clickhouse/test/test_error.py::test_wrap_query_error[error0-AttributeError-Foobar-None]": 0.0021369230003074335, "clickhouse/test/test_error.py::test_wrap_query_error[error1-EstimatedQueryExecutionTimeTooLong-Estimated query execution time (34.5 seconds) is too long.-None]": 0.0035665400005200354, "clickhouse/test/test_error.py::test_wrap_query_error[error2-CHQueryErrorSyntaxError-Code: 62.\\nSyntax error-62]": 0.002301224999882834, "clickhouse/test/test_error.py::test_wrap_query_error[error3-CHQueryErrorUnknown-Code: 9999.\\nSyntax error-9999]": 0.002256424999814044, "clickhouse/views/test/test_clickhouse_retention.py::test_with_materialized_columns": 0.0016704190002201358, "clickhouse/views/test/test_clickhouse_trends.py::test_with_materialized_columns": 1.8125781269995969}
diff --git a/bin/e2e-test-runner b/bin/e2e-test-runner
index bb37426fffdc89..e9e40fb5983302 100755
--- a/bin/e2e-test-runner
+++ b/bin/e2e-test-runner
@@ -7,7 +7,7 @@ export CYPRESS_BASE_URL=http://localhost:8080
export OPT_OUT_CAPTURE=1
export SECURE_COOKIES=0
export SKIP_SERVICE_VERSION_REQUIREMENTS=1
-export KAFKA_URL=kafka://kafka:9092
+export KAFKA_URL=kafka://localhost:9092
export CLICKHOUSE_DATABASE=posthog_test
export TEST=1 # Plugin server and kafka revert to 'default' Clickhouse database if TEST is not set
export CLICKHOUSE_SECURE=0
diff --git a/bin/plugin-server b/bin/plugin-server
index 66427756036286..7b870114e5e1b4 100755
--- a/bin/plugin-server
+++ b/bin/plugin-server
@@ -23,7 +23,7 @@ done
export BASE_DIR=$(dirname $(dirname "$PWD/${0#./}"))
-export KAFKA_URL=${KAFKA_URL:-'kafka://kafka:9092'}
+export KAFKA_URL=${KAFKA_URL:-'kafka://localhost:9092'}
export KAFKA_HOSTS
./bin/migrate-check
diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml
index 069aefcbd898c4..7949e21a850420 100644
--- a/docker-compose.dev.yml
+++ b/docker-compose.dev.yml
@@ -12,18 +12,16 @@ services:
db:
image: postgres:12-alpine
restart: on-failure
+ network_mode: host
environment:
POSTGRES_USER: posthog
POSTGRES_DB: posthog
POSTGRES_PASSWORD: posthog
- ports:
- - '5432:5432'
redis:
image: redis:6.2.7-alpine
restart: on-failure
- ports:
- - '6379:6379'
+ network_mode: host
command: redis-server --maxmemory-policy allkeys-lru --maxmemory 200mb
clickhouse:
@@ -33,14 +31,10 @@ services:
#
image: ${CLICKHOUSE_SERVER_IMAGE:-clickhouse/clickhouse-server:22.3}
restart: on-failure
+ network_mode: host
depends_on:
- kafka
- zookeeper
- ports:
- - '8123:8123'
- - '9000:9000'
- - '9440:9440'
- - '9009:9009'
volumes:
- ./posthog/idl:/idl
- ./docker/clickhouse/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
@@ -49,28 +43,26 @@ services:
zookeeper:
image: zookeeper:3.7.0
restart: on-failure
+ network_mode: host
kafka:
image: bitnami/kafka:2.8.1-debian-10-r99
restart: on-failure
+ network_mode: host
depends_on:
- zookeeper
- ports:
- - '9092:9092'
environment:
KAFKA_BROKER_ID: 1001
KAFKA_CFG_RESERVED_BROKER_MAX_ID: 1001
KAFKA_CFG_LISTENERS: PLAINTEXT://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
- KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
+ KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
+ KAFKA_CFG_ZOOKEEPER_CONNECT: localhost:2181
ALLOW_PLAINTEXT_LISTENER: 'true'
object_storage:
image: minio/minio:RELEASE.2022-06-25T15-50-16Z
restart: on-failure
- ports:
- - '19000:19000'
- - '19001:19001'
+ network_mode: host
environment:
MINIO_ROOT_USER: object_storage_root_user
MINIO_ROOT_PASSWORD: object_storage_root_password
@@ -80,6 +72,4 @@ services:
maildev:
image: maildev/maildev:2.0.5
restart: on-failure
- ports:
- - '1080:1080'
- - '1025:1025'
+ network_mode: host
diff --git a/docker/clickhouse/config.xml b/docker/clickhouse/config.xml
index 30aa3065655f65..99af9414995307 100644
--- a/docker/clickhouse/config.xml
+++ b/docker/clickhouse/config.xml
@@ -692,7 +692,7 @@
- zookeeper
+ localhost
2181
diff --git a/plugin-server/src/config/config.ts b/plugin-server/src/config/config.ts
index 4059ce9e5181d9..723c4c0610335d 100644
--- a/plugin-server/src/config/config.ts
+++ b/plugin-server/src/config/config.ts
@@ -29,7 +29,7 @@ export function getDefaultConfig(): PluginsServerConfig {
CLICKHOUSE_CA: null,
CLICKHOUSE_SECURE: false,
CLICKHOUSE_DISABLE_EXTERNAL_SCHEMAS: true,
- KAFKA_HOSTS: 'kafka:9092', // KEEP IN SYNC WITH posthog/settings/data_stores.py
+ KAFKA_HOSTS: 'localhost:9092', // KEEP IN SYNC WITH posthog/settings/data_stores.py
KAFKA_CLIENT_CERT_B64: null,
KAFKA_CLIENT_CERT_KEY_B64: null,
KAFKA_TRUSTED_CERT_B64: null,
diff --git a/plugin-server/tests/queue.test.ts b/plugin-server/tests/queue.test.ts
index 18c7fdf4e5b6b3..c2445ffd26a0ae 100644
--- a/plugin-server/tests/queue.test.ts
+++ b/plugin-server/tests/queue.test.ts
@@ -19,7 +19,7 @@ describe('queue', () => {
beforeEach(async () => {
;[hub, closeHub] = await createHub({
LOG_LEVEL: LogLevel.Warn,
- KAFKA_HOSTS: process.env.KAFKA_HOSTS || 'kafka:9092',
+ KAFKA_HOSTS: process.env.KAFKA_HOSTS || 'localhost:9092',
})
piscina = { run: jest.fn() } as any
})
diff --git a/posthog/async_migrations/test/__snapshots__/test_0004_replicated_schema.ambr b/posthog/async_migrations/test/__snapshots__/test_0004_replicated_schema.ambr
index f9eaffaf44db6d..8b818f6914e163 100644
--- a/posthog/async_migrations/test/__snapshots__/test_0004_replicated_schema.ambr
+++ b/posthog/async_migrations/test/__snapshots__/test_0004_replicated_schema.ambr
@@ -13,13 +13,13 @@
# name: Test0004ReplicatedSchema.test_migration.10
(
'kafka_plugin_log_entries',
- "Kafka('kafka:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')",
+ "Kafka('localhost:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_migration.11
(
'kafka_session_recording_events',
- "Kafka('kafka:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')",
+ "Kafka('localhost:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_migration.12
@@ -91,37 +91,37 @@
# name: Test0004ReplicatedSchema.test_migration.4
(
'kafka_events',
- "Kafka SETTINGS kafka_broker_list = 'kafka:9092', kafka_topic_list = 'clickhouse_events_proto_test', kafka_group_name = 'group1', kafka_format = 'Protobuf', kafka_schema = 'events:Event', kafka_skip_broken_messages = 100",
+ "Kafka SETTINGS kafka_broker_list = 'localhost:9092', kafka_topic_list = 'clickhouse_events_proto_test', kafka_group_name = 'group1', kafka_format = 'Protobuf', kafka_schema = 'events:Event', kafka_skip_broken_messages = 100",
)
---
# name: Test0004ReplicatedSchema.test_migration.5
(
'kafka_events_dead_letter_queue',
- "Kafka('kafka:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 1000",
+ "Kafka('localhost:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 1000",
)
---
# name: Test0004ReplicatedSchema.test_migration.6
(
'kafka_events_json',
- "Kafka('kafka:9092', 'clickhouse_events_json_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 100",
+ "Kafka('localhost:9092', 'clickhouse_events_json_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 100",
)
---
# name: Test0004ReplicatedSchema.test_migration.7
(
'kafka_groups',
- "Kafka('kafka:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')",
+ "Kafka('localhost:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_migration.8
(
'kafka_person',
- "Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')",
+ "Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_migration.9
(
'kafka_person_distinct_id2',
- "Kafka('kafka:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')",
+ "Kafka('localhost:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_rollback
@@ -139,13 +139,13 @@
# name: Test0004ReplicatedSchema.test_rollback.10
(
'kafka_plugin_log_entries',
- "Kafka('kafka:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')",
+ "Kafka('localhost:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_rollback.11
(
'kafka_session_recording_events',
- "Kafka('kafka:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')",
+ "Kafka('localhost:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_rollback.12
@@ -193,36 +193,36 @@
# name: Test0004ReplicatedSchema.test_rollback.4
(
'kafka_events',
- "Kafka SETTINGS kafka_broker_list = 'kafka:9092', kafka_topic_list = 'clickhouse_events_proto_test', kafka_group_name = 'group1', kafka_format = 'Protobuf', kafka_schema = 'events:Event', kafka_skip_broken_messages = 100",
+ "Kafka SETTINGS kafka_broker_list = 'localhost:9092', kafka_topic_list = 'clickhouse_events_proto_test', kafka_group_name = 'group1', kafka_format = 'Protobuf', kafka_schema = 'events:Event', kafka_skip_broken_messages = 100",
)
---
# name: Test0004ReplicatedSchema.test_rollback.5
(
'kafka_events_dead_letter_queue',
- "Kafka('kafka:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 1000",
+ "Kafka('localhost:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 1000",
)
---
# name: Test0004ReplicatedSchema.test_rollback.6
(
'kafka_events_json',
- "Kafka('kafka:9092', 'clickhouse_events_json_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 100",
+ "Kafka('localhost:9092', 'clickhouse_events_json_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 100",
)
---
# name: Test0004ReplicatedSchema.test_rollback.7
(
'kafka_groups',
- "Kafka('kafka:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')",
+ "Kafka('localhost:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_rollback.8
(
'kafka_person',
- "Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')",
+ "Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_rollback.9
(
'kafka_person_distinct_id2',
- "Kafka('kafka:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')",
+ "Kafka('localhost:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')",
)
---
diff --git a/posthog/async_migrations/test/__snapshots__/test_0005_person_collapsed_by_version.ambr b/posthog/async_migrations/test/__snapshots__/test_0005_person_collapsed_by_version.ambr
index b186f3f52ea3b0..e733ee8508d7f7 100644
--- a/posthog/async_migrations/test/__snapshots__/test_0005_person_collapsed_by_version.ambr
+++ b/posthog/async_migrations/test/__snapshots__/test_0005_person_collapsed_by_version.ambr
@@ -10,7 +10,7 @@
`is_deleted` Int8 DEFAULT 0,
`version` UInt64
)
- ENGINE = Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')
+ ENGINE = Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')
'
---
# name: Test0005PersonCollapsedByVersion.test_migration_schema.1
diff --git a/posthog/async_migrations/test/__snapshots__/test_0005_person_replacing_by_version.ambr b/posthog/async_migrations/test/__snapshots__/test_0005_person_replacing_by_version.ambr
index 8498541d5e6ae8..e41d4284bd11e3 100644
--- a/posthog/async_migrations/test/__snapshots__/test_0005_person_replacing_by_version.ambr
+++ b/posthog/async_migrations/test/__snapshots__/test_0005_person_replacing_by_version.ambr
@@ -10,7 +10,7 @@
`is_deleted` Int8 DEFAULT 0,
`version` UInt64
)
- ENGINE = Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')
+ ENGINE = Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')
'
---
# name: Test0005PersonCollapsedByVersion.test_migration_schema.1
diff --git a/posthog/clickhouse/test/__snapshots__/test_schema.ambr b/posthog/clickhouse/test/__snapshots__/test_schema.ambr
index 1ebbf52b57e85e..16d53eee9e7e3b 100644
--- a/posthog/clickhouse/test/__snapshots__/test_schema.ambr
+++ b/posthog/clickhouse/test/__snapshots__/test_schema.ambr
@@ -26,7 +26,7 @@
group4_created_at DateTime64
- ) ENGINE = Kafka('kafka:9092', 'clickhouse_events_proto_test', 'group1', 'JSONEachRow')
+ ) ENGINE = Kafka('localhost:9092', 'clickhouse_events_proto_test', 'group1', 'JSONEachRow')
'
---
@@ -400,7 +400,7 @@
error VARCHAR,
tags Array(VARCHAR)
- ) ENGINE = Kafka('kafka:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')
+ ) ENGINE = Kafka('localhost:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')
SETTINGS kafka_skip_broken_messages=1000
'
---
@@ -432,7 +432,7 @@
group4_created_at DateTime64
- ) ENGINE = Kafka('kafka:9092', 'clickhouse_events_json_test', 'group1', 'JSONEachRow')
+ ) ENGINE = Kafka('localhost:9092', 'clickhouse_events_json_test', 'group1', 'JSONEachRow')
SETTINGS kafka_skip_broken_messages = 100
@@ -449,7 +449,7 @@
team_id Int64,
group_properties VARCHAR
- ) ENGINE = Kafka('kafka:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')
+ ) ENGINE = Kafka('localhost:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')
'
---
@@ -466,7 +466,7 @@
is_deleted Int8 DEFAULT 0,
version UInt64
- ) ENGINE = Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')
+ ) ENGINE = Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')
'
---
@@ -481,7 +481,7 @@
is_deleted Int8,
version Int64 DEFAULT 1
- ) ENGINE = Kafka('kafka:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')
+ ) ENGINE = Kafka('localhost:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')
'
---
@@ -495,7 +495,7 @@
team_id Int64,
_sign Nullable(Int8),
is_deleted Nullable(Int8)
- ) ENGINE = Kafka('kafka:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')
+ ) ENGINE = Kafka('localhost:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')
'
---
@@ -514,7 +514,7 @@
message VARCHAR,
instance_id UUID
- ) ENGINE = Kafka('kafka:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')
+ ) ENGINE = Kafka('localhost:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')
'
---
@@ -533,7 +533,7 @@
created_at DateTime64(6, 'UTC')
- ) ENGINE = Kafka('kafka:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')
+ ) ENGINE = Kafka('localhost:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')
'
---
diff --git a/posthog/settings/data_stores.py b/posthog/settings/data_stores.py
index dbc2d8c0ad99fa..6e5ae89b776f41 100644
--- a/posthog/settings/data_stores.py
+++ b/posthog/settings/data_stores.py
@@ -120,7 +120,7 @@
_parse_kafka_hosts = lambda kafka_url: ",".join(urlparse(host).netloc for host in kafka_url.split(","))
# URL(s) used by Kafka clients/producers - KEEP IN SYNC WITH plugin-server/src/config/config.ts
-KAFKA_URL = os.getenv("KAFKA_URL", "kafka://kafka:9092")
+KAFKA_URL = os.getenv("KAFKA_URL", "kafka://localhost:9092")
KAFKA_HOSTS = _parse_kafka_hosts(KAFKA_URL)
# To support e.g. Multi-tenanted plans on Heroko, we support specifying a prefix for
From 8b3c62ba62c4c8ede2d4b22839f4c0938789e987 Mon Sep 17 00:00:00 2001
From: "posthog-contributions-bot[bot]"
<80958034+posthog-contributions-bot[bot]@users.noreply.github.com>
Date: Thu, 21 Jul 2022 15:49:11 +0000
Subject: [PATCH 135/213] =?UTF-8?q?chore(contributors):=20=F0=9F=A4=96=20-?=
=?UTF-8?q?=20Add=20rafalmierzwiak=20as=20a=20contributor=20=F0=9F=8E=89?=
=?UTF-8?q?=20(#10905)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* docs: update README.md
* docs: update .all-contributorsrc
Co-authored-by: posthog-contributions-bot[bot] <80958034+posthog-contributions-bot[bot]@users.noreply.github.com>
---
.all-contributorsrc | 9 +++++++++
README.md | 4 ++--
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/.all-contributorsrc b/.all-contributorsrc
index dfe9021b6f4cf2..69fb301280aae1 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -1944,6 +1944,15 @@
"contributions": [
"code"
]
+ },
+ {
+ "login": "rafalmierzwiak",
+ "name": "Rafal Mierzwiak",
+ "avatar_url": "https://avatars.githubusercontent.com/u/11348586?v=4",
+ "profile": "https://www.rm.pl",
+ "contributions": [
+ "code"
+ ]
}
],
"contributorsPerLine": 7,
diff --git a/README.md b/README.md
index 3781441f39c512..a5529ab39f37cd 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
-
+
@@ -104,7 +104,7 @@ Premium features (contained in the `ee` directory) require a PostHog license. Co
-
+
From a8687f896e715ac37d4b44c5c566078bcd5d8967 Mon Sep 17 00:00:00 2001
From: Yakko Majuri <38760734+yakkomajuri@users.noreply.github.com>
Date: Thu, 21 Jul 2022 16:47:55 +0000
Subject: [PATCH 136/213] fix: don't pull unnecessary plugin data in the plugin
server (#10909)
* fix: don't pull unnecessary plugin data in the plugin server
* fix tests
* fix test 2
Co-authored-by: Tiina Turban
---
plugin-server/src/types.ts | 8 ++---
plugin-server/src/utils/db/sql.ts | 19 ----------
plugin-server/tests/helpers/plugins.ts | 20 +----------
plugin-server/tests/sql.test.ts | 50 --------------------------
4 files changed, 5 insertions(+), 92 deletions(-)
diff --git a/plugin-server/src/types.ts b/plugin-server/src/types.ts
index c01f3bc878051a..9b9f543b9dc6fb 100644
--- a/plugin-server/src/types.ts
+++ b/plugin-server/src/types.ts
@@ -277,9 +277,9 @@ export interface Plugin {
plugin_type: 'local' | 'respository' | 'custom' | 'source'
description?: string
is_global: boolean
- is_preinstalled: boolean
+ is_preinstalled?: boolean
url?: string
- config_schema: Record | PluginConfigSchema[]
+ config_schema?: Record | PluginConfigSchema[]
tag?: string
/** @deprecated Replaced with source__index_ts */
source?: string
@@ -292,8 +292,8 @@ export interface Plugin {
error?: PluginError
from_json?: boolean
from_web?: boolean
- created_at: string
- updated_at: string
+ created_at?: string
+ updated_at?: string
capabilities?: PluginCapabilities
metrics?: StoredPluginMetrics
is_stateless?: boolean
diff --git a/plugin-server/src/utils/db/sql.ts b/plugin-server/src/utils/db/sql.ts
index 21c67539f81e38..445d8bf14edde9 100644
--- a/plugin-server/src/utils/db/sql.ts
+++ b/plugin-server/src/utils/db/sql.ts
@@ -8,7 +8,6 @@ import {
PluginError,
PluginLogEntrySource,
PluginLogEntryType,
- StoredPluginMetrics,
} from '../../types'
function pluginConfigsInForceQuery(specificField?: keyof PluginConfig): string {
@@ -33,9 +32,7 @@ export async function getPluginRows(hub: Hub): Promise {
`SELECT
posthog_plugin.id,
posthog_plugin.name,
- posthog_plugin.description,
posthog_plugin.url,
- posthog_plugin.config_schema,
posthog_plugin.tag,
posthog_plugin.from_json,
posthog_plugin.from_web,
@@ -43,12 +40,8 @@ export async function getPluginRows(hub: Hub): Promise {
posthog_plugin.plugin_type,
posthog_plugin.source,
posthog_plugin.organization_id,
- posthog_plugin.created_at,
- posthog_plugin.updated_at,
posthog_plugin.is_global,
- posthog_plugin.is_preinstalled,
posthog_plugin.capabilities,
- posthog_plugin.metrics,
posthog_plugin.public_jobs,
posthog_plugin.is_stateless,
posthog_plugin.log_level,
@@ -102,18 +95,6 @@ export async function setPluginCapabilities(
)
}
-export async function setPluginMetrics(
- hub: Hub,
- pluginConfig: PluginConfig,
- metrics: StoredPluginMetrics
-): Promise {
- await hub.db.postgresQuery(
- 'UPDATE posthog_plugin SET metrics = ($1) WHERE id = $2',
- [metrics, pluginConfig.plugin_id],
- 'setPluginMetrics'
- )
-}
-
export async function setError(hub: Hub, pluginError: PluginError | null, pluginConfig: PluginConfig): Promise {
await hub.db.postgresQuery(
'UPDATE posthog_pluginconfig SET error = $1 WHERE id = $2',
diff --git a/plugin-server/tests/helpers/plugins.ts b/plugin-server/tests/helpers/plugins.ts
index 53a18377797c5a..f3d25eecddfe8f 100644
--- a/plugin-server/tests/helpers/plugins.ts
+++ b/plugin-server/tests/helpers/plugins.ts
@@ -16,25 +16,7 @@ export const plugin60: Plugin = {
name: 'test-maxmind-plugin',
description: 'Ingest GeoIP data via MaxMind',
url: 'https://www.npmjs.com/package/posthog-maxmind-plugin',
- config_schema: {
- localhostIP: {
- hint: 'Useful if testing locally',
- name: 'IP to use instead of 127.0.0.1',
- type: 'string',
- order: 2,
- default: '',
- required: false,
- },
- maxmindMmdb: {
- hint: 'The "GeoIP2 City" or "GeoLite2 City" database file',
- name: 'GeoIP .mddb database',
- type: 'attachment',
- order: 1,
- markdown:
- 'Sign up for a [MaxMind.com](https://www.maxmind.com) account, download and extract the database and then upload the `.mmdb` file below',
- required: true,
- },
- },
+ config_schema: {},
tag: '0.0.2',
error: undefined,
from_json: false,
diff --git a/plugin-server/tests/sql.test.ts b/plugin-server/tests/sql.test.ts
index cfd4e2e6055863..ae8f130edb4c47 100644
--- a/plugin-server/tests/sql.test.ts
+++ b/plugin-server/tests/sql.test.ts
@@ -6,7 +6,6 @@ import {
getPluginConfigRows,
getPluginRows,
setError,
- setPluginMetrics,
} from '../src/utils/db/sql'
import { commonOrganizationId } from './helpers/plugins'
import { resetTestDatabase } from './helpers/sql'
@@ -74,32 +73,11 @@ describe('sql', () => {
test('getPluginRows', async () => {
const rowsExpected = [
{
- config_schema: {
- localhostIP: {
- default: '',
- hint: 'Useful if testing locally',
- name: 'IP to use instead of 127.0.0.1',
- order: 2,
- required: false,
- type: 'string',
- },
- maxmindMmdb: {
- hint: 'The "GeoIP2 City" or "GeoLite2 City" database file',
- markdown:
- 'Sign up for a [MaxMind.com](https://www.maxmind.com) account, download and extract the database and then upload the `.mmdb` file below',
- name: 'GeoIP .mddb database',
- order: 1,
- required: true,
- type: 'attachment',
- },
- },
- description: 'Ingest GeoIP data via MaxMind',
error: null,
from_json: false,
from_web: false,
id: 60,
is_global: false,
- is_preinstalled: false,
is_stateless: false,
organization_id: commonOrganizationId,
log_level: null,
@@ -113,10 +91,7 @@ describe('sql', () => {
source__frontend_tsx: null,
tag: '0.0.2',
url: 'https://www.npmjs.com/package/posthog-maxmind-plugin',
- created_at: expect.anything(),
- updated_at: expect.anything(),
capabilities: {},
- metrics: {},
},
]
@@ -186,29 +161,4 @@ describe('sql', () => {
await hub.db.redisPool.release(redis)
})
})
-
- describe('setPluginMetrics', () => {
- test('setPluginMetrics sets metrics correctly', async () => {
- const pluginConfig39: PluginConfig = {
- id: 39,
- team_id: 2,
- plugin_id: 60,
- enabled: true,
- order: 0,
- config: {},
- error: undefined,
- created_at: new Date().toISOString(),
- updated_at: new Date().toISOString(),
- }
-
- const rowsBefore = await getPluginRows(hub)
- expect(rowsBefore[0].id).toEqual(60)
- expect(rowsBefore[0].metrics).toEqual({})
-
- await setPluginMetrics(hub, pluginConfig39, { metric1: 'sum' })
-
- const rowsAfter = await getPluginRows(hub)
- expect(rowsAfter[0].metrics).toEqual({ metric1: 'sum' })
- })
- })
})
From 8245c102f93550e7d816dad7ae5dc06849138f4c Mon Sep 17 00:00:00 2001
From: Tiina Turban
Date: Thu, 21 Jul 2022 20:17:39 +0200
Subject: [PATCH 137/213] chore: nuke unused
NEW_PERSON_PROPERTIES_UPDATE_ENABLED_TEAMS (#10919)
---
plugin-server/src/config/config.ts | 2 --
task-definition.plugins-async.json | 4 ----
task-definition.plugins-ingestion.json | 4 ----
3 files changed, 10 deletions(-)
diff --git a/plugin-server/src/config/config.ts b/plugin-server/src/config/config.ts
index 723c4c0610335d..5b1bfc0973dbed 100644
--- a/plugin-server/src/config/config.ts
+++ b/plugin-server/src/config/config.ts
@@ -160,8 +160,6 @@ export function getConfigHelp(): Record {
'corresponds to the piscina useAtomics config option (https://github.com/piscinajs/piscina#constructor-new-piscinaoptions)',
PISCINA_ATOMICS_TIMEOUT:
'(advanced) corresponds to the length of time a piscina worker should block for when looking for tasks',
- NEW_PERSON_PROPERTIES_UPDATE_ENABLED_TEAMS:
- '(advanced) teams for which to run the new person properties update flow on',
EXPERIMENTAL_EVENTS_LAST_SEEN_ENABLED: '(advanced) enable experimental feature to track lastSeenAt',
EXPERIMENTAL_EVENT_PROPERTY_TRACKER_ENABLED: '(advanced) enable experimental feature to track event properties',
MAX_PENDING_PROMISES_PER_WORKER:
diff --git a/task-definition.plugins-async.json b/task-definition.plugins-async.json
index e5b175ff92f1c6..1cfa979d16bdc4 100644
--- a/task-definition.plugins-async.json
+++ b/task-definition.plugins-async.json
@@ -72,10 +72,6 @@
"name": "USING_PGBOUNCER",
"value": "True"
},
- {
- "name": "NEW_PERSON_PROPERTIES_UPDATE_ENABLED_TEAMS",
- "value": "2"
- },
{
"name": "PERSON_DISTINCT_ID_OPTIMIZATION_TEAM_IDS",
"value": "2,2635"
diff --git a/task-definition.plugins-ingestion.json b/task-definition.plugins-ingestion.json
index 676f3eb4b6364b..159e4cad805c2e 100644
--- a/task-definition.plugins-ingestion.json
+++ b/task-definition.plugins-ingestion.json
@@ -72,10 +72,6 @@
"name": "USING_PGBOUNCER",
"value": "True"
},
- {
- "name": "NEW_PERSON_PROPERTIES_UPDATE_ENABLED_TEAMS",
- "value": "2"
- },
{
"name": "PERSON_DISTINCT_ID_OPTIMIZATION_TEAM_IDS",
"value": "2,2635"
From e223e7ec379264cc079c568caf80d2b34f57b62e Mon Sep 17 00:00:00 2001
From: Rick Marron
Date: Thu, 21 Jul 2022 11:38:56 -0700
Subject: [PATCH 138/213] fix(recordings): decrease activity threshold (#10920)
* fix(recordings): decrease activity threshold
* try 10 sec
---
posthog/helpers/session_recording.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/posthog/helpers/session_recording.py b/posthog/helpers/session_recording.py
index ec163a55667e86..97d960aae2b2eb 100644
--- a/posthog/helpers/session_recording.py
+++ b/posthog/helpers/session_recording.py
@@ -211,7 +211,7 @@ def is_active_event(event: SnapshotData) -> bool:
return event.get("type") == 3 and event.get("data", {}).get("source") in active_rr_web_sources
-ACTIVITY_THRESHOLD_SECONDS = 60
+ACTIVITY_THRESHOLD_SECONDS = 10
def get_active_segments_from_event_list(
From d7998cef300d2a3c2807c7ecc999892a92114f42 Mon Sep 17 00:00:00 2001
From: Harry Waye
Date: Fri, 22 Jul 2022 10:25:59 +0100
Subject: [PATCH 139/213] Revert "chore(dev): use network mode host for
docker-compose services (#10917)" (#10926)
This reverts commit 225a41db7219f5dfe64dad9e0897de2608855ce8.
---
.devcontainer/.env | 12 +++----
.github/actions/run-backend-tests/action.yml | 4 +++
.github/workflows/ci-async-migrations.yml | 4 +++
.github/workflows/ci-plugin-server.yml | 5 ++-
.github/workflows/docker-image-test.yml | 2 +-
.test_durations | 2 +-
bin/e2e-test-runner | 2 +-
bin/plugin-server | 2 +-
docker-compose.dev.yml | 28 ++++++++++------
docker/clickhouse/config.xml | 2 +-
plugin-server/src/config/config.ts | 2 +-
plugin-server/tests/queue.test.ts | 2 +-
.../test_0004_replicated_schema.ambr | 32 +++++++++----------
...test_0005_person_collapsed_by_version.ambr | 2 +-
...test_0005_person_replacing_by_version.ambr | 2 +-
.../test/__snapshots__/test_schema.ambr | 18 +++++------
posthog/settings/data_stores.py | 2 +-
17 files changed, 71 insertions(+), 52 deletions(-)
diff --git a/.devcontainer/.env b/.devcontainer/.env
index 43cc87d86ce8e4..4ab94d042a33e3 100644
--- a/.devcontainer/.env
+++ b/.devcontainer/.env
@@ -2,7 +2,7 @@
DEBUG=1
# Make psql default to local settings
-PGHOST=localhost
+PGHOST=db
PGUSER=posthog
PGPASSWORD=posthog
PGPORT=5432
@@ -13,16 +13,14 @@ PGDATABASE=posthog
## Update to postgres to use postgres for all event queries
PRIMARY_DB=clickhouse
DATABASE_URL=postgres://${PGUSER}:${PGPASSWORD}@${PGHOST}:${PGPORT}/${PGDATABASE}
-
-# Kafka settings
KAFKA_ENABLED=true
-KAFKA_HOSTS=localhost:9092
-KAFKA_URL=kafka://localhost:9092
+KAFKA_HOSTS=kafka:9092
+REDIS_URL=redis://redis:6379
# Clickhouse settings
-CLICKHOUSE_HOST=localhost
+CLICKHOUSE_HOST=clickhouse
CLICKHOUSE_DATABASE=posthog_test
CLICKHOUSE_VERIFY=False
# Setup redis config
-REDIS_URL=redis://localhost:6379/
+REDIS_URL=redis://redis:6379/
\ No newline at end of file
diff --git a/.github/actions/run-backend-tests/action.yml b/.github/actions/run-backend-tests/action.yml
index 42904006cacec1..40d9bcc7b05d73 100644
--- a/.github/actions/run-backend-tests/action.yml
+++ b/.github/actions/run-backend-tests/action.yml
@@ -39,6 +39,10 @@ runs:
docker-compose -f docker-compose.dev.yml down
docker-compose -f docker-compose.dev.yml up -d
+ - name: Add Kafka to /etc/hosts
+ shell: bash
+ run: echo "127.0.0.1 kafka" | sudo tee -a /etc/hosts
+
- name: Set up Python
uses: actions/setup-python@v2
with:
diff --git a/.github/workflows/ci-async-migrations.yml b/.github/workflows/ci-async-migrations.yml
index 0e4b77c7df1bce..35d72cff6aa8d6 100644
--- a/.github/workflows/ci-async-migrations.yml
+++ b/.github/workflows/ci-async-migrations.yml
@@ -61,6 +61,10 @@ jobs:
python -m pip install -r requirements-dev.txt
python -m pip install -r requirements.txt
+ - name: Add kafka host to /etc/hosts for kafka connectivity
+ shell: bash
+ run: sudo echo "127.0.0.1 kafka" | sudo tee -a /etc/hosts
+
- name: Set up needed files
shell: bash
run: |
diff --git a/.github/workflows/ci-plugin-server.yml b/.github/workflows/ci-plugin-server.yml
index 5764d8c125fec3..0b9572566b7c7a 100644
--- a/.github/workflows/ci-plugin-server.yml
+++ b/.github/workflows/ci-plugin-server.yml
@@ -63,7 +63,7 @@ jobs:
REDIS_URL: 'redis://localhost'
CLICKHOUSE_HOST: 'localhost'
CLICKHOUSE_DATABASE: 'posthog_test'
- KAFKA_HOSTS: 'localhost:9092'
+ KAFKA_HOSTS: 'kafka:9092'
steps:
- name: Code check out
@@ -74,6 +74,9 @@ jobs:
docker-compose -f docker-compose.dev.yml down
docker-compose -f docker-compose.dev.yml up -d
+ - name: Add Kafka to /etc/hosts
+ run: echo "127.0.0.1 kafka" | sudo tee -a /etc/hosts
+
- name: Set up Python
uses: actions/setup-python@v2
with:
diff --git a/.github/workflows/docker-image-test.yml b/.github/workflows/docker-image-test.yml
index ac700f61b3cde7..476ea28f15a607 100644
--- a/.github/workflows/docker-image-test.yml
+++ b/.github/workflows/docker-image-test.yml
@@ -131,7 +131,7 @@ jobs:
SECRET_KEY=6b01eee4f945ca25045b5aab440b953461faf08693a9abbf1166dc7c6b9772da
REDIS_URL=redis://localhost
DATABASE_URL=postgres://posthog:posthog@localhost:5432/posthog
- KAFKA_URL=kafka://localhost:9092
+ KAFKA_URL=kafka://kafka:9092
DISABLE_SECURE_SSL_REDIRECT=1
SECURE_COOKIES=0
OPT_OUT_CAPTURE=1
diff --git a/.test_durations b/.test_durations
index 56984eb5a5e8c8..50e603e95c0364 100644
--- a/.test_durations
+++ b/.test_durations
@@ -1 +1 @@
-{"ee/api/test/test_capture.py::TestCaptureAPI::test_determine_team_from_request_data_ch": 3.4122722329999533, "ee/api/test/test_capture.py::TestCaptureAPI::test_produce_to_kafka": 0.15640384599998924, "ee/api/test/test_capture.py::TestCaptureAPI::test_unable_to_fetch_team": 0.02767883699993945, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_allowed_for_project_member": 0.3054151560000946, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_org_admin": 0.0507530999999517, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_project_outsider": 0.04411500799994883, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_shared_dashboard_in_private_project": 0.07278180200000861, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_create_event_definition": 0.3000420400001076, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_existing_event_definition": 0.051290033000100266, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_search_event_definition": 0.12399333000018942, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_definition": 0.058352151000008234, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_without_license": 0.04512456800023301, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_with_expired_license": 0.04844436400014729, "ee/api/test/test_hooks.py::TestHooksAPI::test_create_hook": 0.4614861830001473, "ee/api/test/test_hooks.py::TestHooksAPI::test_create_hook_with_resource_id": 0.24908502599987514, "ee/api/test/test_hooks.py::TestHooksAPI::test_delete_hook": 0.24549151300004723, "ee/api/test/test_license.py::TestLicenseAPI::test_can_create_license": 0.2613849530000607, "ee/api/test/test_license.py::TestLicenseAPI::test_can_list_and_retrieve_licenses": 0.03875799099989763, "ee/api/test/test_license.py::TestLicenseAPI::test_friendly_error_when_license_key_is_invalid": 0.03096323099998699, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_organization": 0.39356956799997533, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_two_similarly_named_organizations": 0.08080907700013995, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_last_organization": 0.12931684499994844, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_organization_owning": 0.10213543700001537, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_second_managed_organization": 0.11091855899985603, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_has_license": 0.023947615999986738, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_license_expired": 0.1589728980000018, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_no_license": 0.017647444000090218, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_belonging_to": 0.07041076400003021, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_owning": 0.043380664999972396, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_update_organization_not_belonging_to": 0.06928309499994612, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_update_org": 0.14897150600017994, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_filter_property_definitions": 0.2764710449998802, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_create_property_definition": 0.05701777100000527, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_existing_property_definition": 0.04555449299994052, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_search_property_definition": 0.11548352700003761, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_definition": 0.053584268000008706, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_without_license": 0.0414815520001639, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_with_expired_license": 0.0471586879999677, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_create_project": 0.29927609399999255, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_open_team_as_org_member_but_project_admin_forbidden": 0.25988916499977677, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_private_team_as_org_member_but_project_admin_allowed": 0.31280061100017065, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_second_team_as_org_admin_allowed": 0.2947191270000076, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_admin_allowed": 0.28631400100005067, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_member_forbidden": 0.24558740699990267, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_admin_allowed": 0.2501691469998377, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_and_project_admin_forbidden": 0.24232559099993978, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_forbidden": 0.2495731799999703, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_admin_allowed": 0.24469330299996273, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_and_project_admin_forbidden": 0.24642732299992076, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_forbidden": 0.2338159949999863, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_nonexistent_team": 0.23022938799999793, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member": 0.24045527900000252, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_admin": 0.23917950299994573, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_member": 0.23673856300013085, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_admin_works": 0.24385007400007908, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_member_works": 0.23670156100001805, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_outsider": 0.23722019199988154, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_list_teams_restricted_ones_hidden": 0.24700385400001323, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_administrating_organization": 0.24993142500011345, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_belonging_to_organization": 0.4943581330001052, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_non_admin_cannot_create_project": 0.23412531200006015, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_and_project_member_allowed": 0.2504248530000268, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_forbidden": 0.2445900170000641, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_current_as_org_outsider_forbidden": 0.2498482190001141, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_id_as_org_outsider_forbidden": 0.249083574999986, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_project_as_org_member_allowed": 0.25004543100010324, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_user_that_does_not_belong_to_an_org_cannot_create_a_project": 0.25705173500000456, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_org_admin_allowed": 0.2962390970000115, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_admin_allowed": 0.2696964650000382, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_member_forbidden": 0.25836881099985476, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_allowed": 0.26233274999992773, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_and_project_member_allowed": 0.2789111210000783, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_and_project_member_forbidden": 0.24943651699993552, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_but_project_admin_allowed": 0.2690339479999011, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_forbidden": 0.25450550900006874, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_owner_allowed": 0.26489671000001636, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_current_project_allowed": 0.2612459989999252, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_private_project_forbidden": 0.26404286000001775, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_nonexistent_project_forbidden": 0.24467664100018283, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_in_outside_organization_forbidden": 0.27798216600001524, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_that_is_not_organization_member_forbidden": 0.2871032939998486, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_admin_forbidden": 0.25712405999991006, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_member_forbidden": 0.2535015509999994, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_demote_yourself_as_org_member_and_project_admin_forbidden": 0.27120667400004095, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_allowed": 0.24760580999998183, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_member": 0.2570391560000189, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_organization_outsider": 0.2384900839999773, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_project_outsider": 0.25019495799995184, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_admin_allowed": 0.2622965599999816, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_allowed": 0.24929880699994555, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_but_project_admin_allowed": 0.25404128200011655, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_but_project_admin_allowed": 0.2635854330000029, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_forbidden": 0.25542446300005395, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_owner_allowed": 0.28908850899995286, "ee/clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class": 0.2780182679999825, "ee/clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class_edge_cases": 0.2532993400000123, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_backfilling_data": 2.2649386519999553, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_caching_and_materializing": 2.04398621200005, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_column_types": 1.8644900170000938, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_get_columns_default": 1.2085611839999046, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_materialized_column_naming": 1.9727072100000669, "ee/clickhouse/models/test/test_action.py::TestActions::test_attributes": 0.305633364000073, "ee/clickhouse/models/test/test_action.py::TestActions::test_empty_selector_same_as_null": 0.28807818400002816, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_events_by_url": 0.4100594940001656, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_direct_decendant_ordering": 0.3475152020001815, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_id": 0.3337548340000467, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nested": 0.3481742389999454, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nth_child": 0.32776429999989887, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_star": 0.3322757509998837, "ee/clickhouse/models/test/test_action.py::TestActions::test_no_person_leakage_from_other_teams": 0.2969962819998955, "ee/clickhouse/models/test/test_action.py::TestActions::test_no_steps": 0.2747047359999897, "ee/clickhouse/models/test/test_action.py::TestActions::test_person_property": 0.363022767999837, "ee/clickhouse/models/test/test_action.py::TestActions::test_person_with_different_distinct_id": 0.2866569039999831, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class": 0.27128364600002897, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_slashes": 0.2590381620001381, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_symbols": 0.2545901150000418, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_normal_filters": 0.3334807189999083, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_double": 0.30025336300002436, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_contains_url": 0.2780357220000269, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_exact_url": 0.28150251600004594, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_regex_url": 0.27450472600003195, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_clickhouse_empty_query": 0.3938014860001431, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_change": 1.2360476100000142, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_get_person_ids_by_cohort_id": 0.42909032500006106, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_basic": 1.0718043900001248, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_count": 1.7655990750000683, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic": 0.7087321549998933, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_deleted_person": 1.3573256099999753, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_prop_changed": 1.2782052049999493, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_timestamp": 0.6951178630000641, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_cyclic_cohort_filter": 0.6537181539999892, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_nonexistent_other_cohort_filter": 0.6918364830000883, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_valid_other_cohort_filter": 2.225866351000036, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_insert_by_distinct_id_or_email": 0.6286306940000941, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic": 0.3631944469999553, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action": 0.3576625179999837, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action_days": 0.4586738120000291, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_event_days": 0.4226943759998676, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_multiple_groups": 0.3471757960001014, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_with_negation": 0.32518419199993787, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_static_cohort_precalculated": 0.6061559610000131, "ee/clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_direct_table_insert": 0.2981627890000027, "ee/clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_kafka_insert": 2.218743123999957, "ee/clickhouse/models/test/test_element.py::TestClickhouseElement::test_broken_class_names": 0.23260135600003196, "ee/clickhouse/models/test/test_element.py::TestClickhouseElement::test_elements_to_string": 0.22320260800006508, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_old_style_properties": 0.21912436899992827, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_recursive_cohort": 0.01232651899999837, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_cohorts": 0.4339205880000918, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities": 0.008252580999965176, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_hasdone_cohort": 0.007858159000079468, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_multi_group_cohort": 0.008058771000037268, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_no_such_cohort": 0.006307767000066633, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_not_ee": 0.005643428000212225, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_static_cohort": 0.0074344329999576075, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_test_accounts": 0.006698390000110521, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_to_dict": 0.0066974900000786874, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters": 0.2694861039999523, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_contains": 0.2643305039999859, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain": 0.278087206999885, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_element_filter": 0.29178920400011066, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_element_selectors": 0.25283833499997854, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members": 0.3447479909999629, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_incomplete_data": 0.20135673399988718, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex": 0.26393098100015777, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not": 0.2742751830000998, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set": 0.2779347969999435, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false": 0.25105193100012, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_json_object": 0.3020324010000195, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_multiple": 0.2585057640000059, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality": 0.2842406639999808, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_numerical": 0.31012587399993663, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_person_cohort_properties": 0.3752441679999947, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_regex": 0.26722437300009005, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_simple": 0.2769401400000788, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_true_false": 0.2753736470001513, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties": 0.4389398800000208, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties_numerical": 0.3932783100000279, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_old_style_properties": 0.2369076289999157, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_simplify_test_accounts": 0.007483224999873528, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_to_dict": 0.0066589779999048915, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_limit_works": 0.25374748299987004, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_search_works": 0.039133418000005804, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_simple_log_is_fetched": 0.02878853100003198, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_decimals": 0.38779598199994325, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element": 0.5515377639999315, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_event": 0.3317341040000201, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_ints_saved_as_strings": 0.4109128919999421, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_person": 0.3209162919999926, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized": 0.8594906179999953, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized_ints": 0.3324483449999889, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_person_denormalized": 0.4328515360000438, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property0-expected_event_indexes0]": 0.2957624640000631, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property1-expected_event_indexes1]": 0.3074024239999744, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property2-expected_event_indexes2]": 0.3323187369999232, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property3-expected_event_indexes3]": 0.2961423860000423, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property4-expected_event_indexes4]": 0.290731378999908, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property5-expected_event_indexes5]": 0.29532083900005546, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property6-expected_event_indexes6]": 0.28774381200003063, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property7-expected_event_indexes7]": 0.2889992819999634, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property8-expected_event_indexes8]": 0.2845401279998896, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property9-expected_event_indexes9]": 0.28303444099992703, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property0-expected_event_indexes0]": 0.7811942019999378, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property1-expected_event_indexes1]": 0.3160298430000239, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property2-expected_event_indexes2]": 0.3157902299997204, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property3-expected_event_indexes3]": 0.3040580560000308, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property4-expected_event_indexes4]": 0.30667290600001706, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property5-expected_event_indexes5]": 0.3067553119999502, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property6-expected_event_indexes6]": 0.30191623200005324, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property7-expected_event_indexes7]": 0.3393605830000297, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property8-expected_event_indexes8]": 0.321160137999982, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property9-expected_event_indexes9]": 0.31001489799996307, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.078508217000035, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.783673001000011, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.012095904000148, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown": 4.043667342999925, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown_materialized": 5.420725929000014, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event": 1.989234081999939, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_materialized": 3.1571343780000234, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type": 2.013538778000111, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.988358690000041, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.43275230200004, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.2715992219999634, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 1.7754772360001425, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other": 2.006685664000088, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.015030266999929, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit": 3.2913461809999944, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit_materialized": 5.136119527999881, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person": 2.735624440000038, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person_materialized": 3.868653906000077, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.491645050000102, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 3.162512784000114, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.832301138000048, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.3501407210000025, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_step_conversion_times": 0.6657537549998551, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_times_with_different_conversion_windows": 1.4371063159999267, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_with_multiple_incomplete_tries": 0.8414155469999969, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_exclusions_between_steps": 6.19118383, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_multiple_exclusions_between_steps": 5.235706039999968, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps": 3.5177383219999, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps_out_of_order_events": 3.6297619970000596, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_default_funnel_days": 0.4311247259998936, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps": 0.9098471130000689, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps_materialized": 1.4736193389999244, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_step_updated_param": 1.1744274700000688, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_steps": 0.8256870169998365, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_conversion_window": 1.941807888999847, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_default": 0.457138329999907, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_events": 1.497510004999981, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusion_no_end_event": 1.0378132280000045, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_full_window": 0.9682012870000563, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_invalid_params": 0.21746392000000014, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions": 1.0386791759999596, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions_materialized": 1.463662830999965, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties": 0.8201529910002137, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties_materialized": 1.0440497829998776, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts": 0.547256755999797, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts_materialized": 0.6288645909999104, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions": 0.6093829610000512, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions_materialized": 0.8101937129999897, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_no_events": 0.22958222099998693, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop": 0.6995953959999497, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop_materialized": 0.9251103810000814, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters": 0.6936022520000051, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_materialized": 0.9841340140000057, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity": 0.7868983670000489, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity_materialized": 1.0498301260000744, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_skipped_step": 0.5648429799999803, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions": 1.0159573589999127, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events": 0.0022172279999495004, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events_materialized": 0.22825194799997917, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_materialized": 1.4004982760000075, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_denormalised_properties": 0.5107160390001582, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_elements_chain": 1.4146405200000345, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters": 0.5841914230001066, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters_materialized": 0.6993902919999755, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties": 3.7941916690000426, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties_materialized": 5.831684114000041, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_single_step": 0.43438579700000446, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_events": 4.385965505000058, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties": 1.8310647380001228, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties_materialized": 2.4829929260000654, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties": 3.0872295520000534, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties_materialized": 4.024911208000162, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_properties_raises_validation_error": 0.2877717890000895, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_discarding_insignificant_events": 1.6137499870001193, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_events_within_conversion_window_for_correlation": 0.7259028970000827, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties": 3.0256051159999515, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture": 2.5083253620000505, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture_materialized": 4.304017837999822, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_exclusions": 1.6548500520000289, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_materialized": 4.7832929839999, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_no_divide_by_zero_errors": 0.8458349899999575, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationPersons::test_basic_funnel_correlation_with_events": 3.3022785139999087, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationPersons::test_people_arent_returned_multiple_times": 0.6194627189997846, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_basic_offset": 7.4679280629998175, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step": 2.0018184030000157, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person": 2.707419863000041, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person_materialized": 3.9608897980003803, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns": 1.7009337240001514, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_materialized": 2.5235194669999146, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons": 0.7514521130001413, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons_materialized": 0.9805009030003475, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step": 2.0504414980000547, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step_dropoff": 1.9935798980000072, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_second_step_dropoff": 1.9569046689998686, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_are_equivalent_to_funnel_step": 4.226075908999974, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_overrides_funnel_step": 1.9434825630000887, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_where_funnel_step_equivalence_isnt_possible": 2.7207068549998894, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.1236643930001264, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.5644911669999146, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.076353946999916, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown": 4.847956962999888, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown_materialized": 6.175481664000245, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event": 1.7884084490001442, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_materialized": 2.4616166979999434, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type": 1.669936473000007, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.418227381000179, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.4016006029999062, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4593288470000516, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.0258372070002224, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other": 1.74509642299995, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 2.5626580629998443, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit": 3.385648183000285, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 4.914983846999803, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person": 2.2608127130001776, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person_materialized": 3.3384852640001554, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.5820777789999738, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 2.7351081209999393, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.016051214999834, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.176098355000022, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_strict_breakdown_events_with_multiple_properties": 1.471916070999896, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_step_conversion_times": 0.6682651129999613, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_times_with_different_conversion_windows": 1.4293016009999064, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 0.7461131239999759, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_advanced_strict_funnel": 2.4217684980001195, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel": 1.5853855069999554, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel_conversion_times": 1.216331930000024, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_first_step": 2.2074801200001275, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step": 2.0549394879999454, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step_dropoff": 2.1008856820001256, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_third_step": 2.021816102999992, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step": 2.7636818409998796, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step_duplicate_events": 0.0019620119999217422, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_total": 4.720440585999995, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_strict": 2.534608437000088, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_unordered": 6.098391111999945, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_custom_bin_count_single_step": 2.1733683489999294, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_date_range": 0.9503746010000214, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_results_for_day_interval": 0.8864150009999321, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_day_interval": 0.8417590869999003, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_from_second_step": 0.70795024500012, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_event": 0.7512618979997114, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_person": 0.8645953449997705, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_trend_cohort_breakdown": 1.0014512499999455, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_hour_interval": 0.5218155439997645, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_month_interval": 0.8407360670000799, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_no_event_in_period": 0.5214756240002316, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows": 1.2615565769997374, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_strict_funnel": 0.6489340870000433, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_unordered_funnel": 2.179022748000307, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_only_one_user_reached_one_step": 1.3171744910000598, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_period_not_final": 0.5554782740000519, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_steps_performed_in_period_but_in_reverse": 0.5603675560000738, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_to_second_step": 0.6995264180002323, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_two_runs_by_single_user_in_one_period": 0.5826955500001532, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_week_interval": 0.8130320910001956, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_window_size_one_day": 0.8851428680000026, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.106617993999862, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.6001500820000274, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.0399460520000048, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown": 7.9801272100000915, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown_materialized": 10.960380491000024, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event": 3.9825215820001176, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_materialized": 6.1375313139999434, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type": 4.114238796999871, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 5.858587421000038, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 2.4665159210001093, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4768252750002375, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 1.979720714999985, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other": 4.212692176000019, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 6.207084612000244, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit": 3.7916767340000206, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 5.7921931400001085, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person": 6.225573549000046, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person_materialized": 9.011092076000068, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 2.5194896080004128, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 6.134760683999957, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 8.977437395000152, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 3.4509319530000084, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_step_conversion_times": 0.9826531189996786, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_times_with_different_conversion_windows": 2.3925724220000575, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 1.4762856330000886, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_advanced_funnel_multiple_exclusions_between_steps": 9.308819315000164, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel": 4.205654740999762, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel_conversion_times": 2.7140712579998763, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_big_multi_step_unordered_funnel": 5.020607273000223, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_full_window": 1.501802815000019, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_invalid_params": 0.22715396200010218, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_single_event_unordered_funnel": 0.512372287000062, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_first_step": 2.5514231310000923, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_invalid_steps": 0.3232778290000624, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step": 2.351788750999958, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step_dropoff": 2.3722616219999964, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_second_step_dropoff": 2.3780847600000925, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots": 5.355217191000293, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots_with_specific_limit_and_offset": 3.079139939999777, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata": 0.29487378700014233, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_does_not_leak_teams": 0.2997519719999673, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_chunked_snapshots": 3.3678246719998697, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_non_existant_session_id": 0.24665759399999843, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots": 0.2789712670000881, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_does_not_leak_teams": 0.26176136999993105, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_with_no_such_session": 0.21774591899975348, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter": 0.6400951939999686, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_filters_at_once": 0.42132641600005627, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys": 0.27893696599994655, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys_with_entity_filter": 0.34368251799969585, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query": 0.2925046510001721, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_from_filter": 0.3438917290000063, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_to_filter": 0.32966690500006735, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_duration_filter": 0.34795046499993987, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter": 0.45357068500015885, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties": 0.47338933400033056, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_multiple_event_filters": 0.4976994430001014, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_pagination": 0.43227315100011765, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_person_id_filter": 0.3301338090000172, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_that_spans_time_bounds": 0.26656822999984797, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_without_fullsnapshot_dont_appear": 0.2763639970000895, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recordings_dont_leak_data_between_teams": 0.2823512440002105, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_teams_dont_leak_event_filter": 0.34781993300020986, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props": 0.4240229439997165, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_materialized": 0.9909760599998663, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_with_entity_filter": 1.0490752230000453, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_materialized_columns_checks": 0.5671407290001298, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter": 0.2245541970000886, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter_with_actions": 0.22966599400001542, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column": 0.22840512099992338, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column_with_actions": 0.2599629470000764, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_account_filters": 0.5829281419999006, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_action_with_person_property_filter": 0.4718200100001013, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_basic_event_filter": 0.31612289800000326, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_cohort_filter": 0.39950662499995815, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_denormalised_props": 0.4242033549999178, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_element": 0.3523264969999218, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_entity_filtered_by_cohort": 0.48358562899966273, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_event_properties_filter": 0.3767018349999489, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_person_properties_filter": 0.463810181999861, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_static_cohort_filter": 0.3803838469998482, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_filter_test_accounts": 2.412463325999852, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend": 0.9208094709997567, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_action": 0.9175159799997346, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_all_time": 0.9897915679998732, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_months": 0.9456509099998129, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people": 1.606526815999814, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people_paginated": 6.768739425000149, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_prop_filtering": 1.0175167859999874, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_weeks": 0.9423590289998174, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trends_distinct_id_repeat": 0.8061594349999268, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_current_url_paths_and_logic": 3.6759169970000585, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_custom_event_paths": 0.763400655000396, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties": 3.735884242999873, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_exclusion_filters_with_wildcards": 1.0389361179998104, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters": 2.402655961999926, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters_across_single_person": 1.5601282509999237, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff": 8.76244784299979, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step": 4.328247638000221, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_limit": 14.897552395000275, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_respects_conversion_window": 7.797880035000162, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_dropoff": 4.393292299999985, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_step": 4.380504735999921, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_between_step": 9.845762665000166, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping": 3.494847931000095, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement": 1.0172335239999484, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement_multiple": 1.2942971729999044, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_event_ordering": 4.323235831000147, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_across_people": 0.7331012700001338, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_with_evil_input": 0.6439357049996488, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_min_edge_weight": 4.122319311999945, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_removes_duplicates": 0.6541583969999465, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_respect_session_limits": 0.6215915100001439, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end": 0.758378329000152, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end_materialized": 1.0690749079999478, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_in_window": 0.7189631339999778, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_person_dropoffs": 5.0039126689996465, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_properties_filter": 0.784160909999855, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start": 1.464056790000086, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end": 2.967617168000288, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end_materialized": 3.84066483100014, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_dropping_orphaned_edges": 1.353246177000301, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_properties_queried_using_path_filter": 0.35585270899991883, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_screen_paths": 0.8873554930003138, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_conversion_times": 0.6841376240001864, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_limit": 3.160860169999978, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest": 0.010203489999867088, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_and_cross_edges": 0.007467431999884866, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_edges": 0.005494517999977688, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_no_start_point": 0.00558942400016349, "ee/clickhouse/queries/test/test_person_query.py::test_person_query": 0.4368775010000263, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_requested_fields": 0.4136416559999816, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_entity_filters": 0.40228060000026744, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_fields": 0.354152213000134, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_day_interval": 0.7009385969997766, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_filter_test_accounts": 0.7092255790000763, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_first_time_retention": 0.9082447040000261, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_hour_interval": 0.6466767550000441, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_interval_rounding": 0.6302381039997726, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_minute_interval": 0.22697304600023926, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_month_interval": 0.6517703499998788, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_action_start_point": 0.6284906020000562, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_default": 0.5861015469999984, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_event_action": 0.5865528729996186, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_graph": 0.6064644260000023, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_invalid_properties": 0.2471246139998584, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_multiple_events": 0.6558271859998968, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people": 0.5245372839999618, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_first_time": 0.8992322880001211, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period": 0.6224482549998811, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period_first_time": 1.0508572710000408, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_paginated": 13.451846693000107, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_properties": 0.6330848729999161, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_user_properties": 0.709399391000261, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_week_interval": 0.6508730020000257, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_recording_duration_gt": 0.40078271500010487, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_recording_duration_lt": 0.37407546899999033, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_unseen_recording": 0.3732756229999268, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_join_with_session_recordings": 0.442958157999783, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run": 0.3324381559998528, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_queries_with_specific_limit_and_offset": 1.956364721, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_sequential_next_urls": 1.975238716000149, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_session_with_chunks_with_partial_snapshots": 0.30553319799992096, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_with_no_sessions": 0.208793194999771, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_with_no_such_session": 0.2219356569996762, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_compare": 0.6779186700000537, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_filter_sessions_precalculated_cohort": 1.2336193620001268, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_filter_test_accounts": 0.8481924339996567, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_no_events": 0.31159995000007257, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_avg_length": 0.7265896900000826, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_avg_length_interval": 0.9591475619999983, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_count_buckets": 1.4210503179999705, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_count_buckets_default": 0.3002597940001124, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_compare": 0.5753936309999972, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_filter_test_accounts": 0.6387358009999389, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness": 0.6765714929997557, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_action": 0.5529603320001115, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_all_time": 0.5447607580001659, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_entity_filter": 0.5887713059998987, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_hours": 0.5313776819998566, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_minutes": 0.5078811199998654, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_months": 0.5075017989997832, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_endpoint": 0.5774776530001873, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_paginated": 6.452203972000007, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_with_entity_filter": 0.6119255020000764, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_prop_filter": 0.5259782159998849, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_weeks": 0.5320777679999082, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_filtering": 0.6119244049998542, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop": 0.46008807999987766, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop_materialized": 0.5614032770001813, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math": 0.5424876760000643, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math_action": 0.5361227050002526, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming": 0.616831904000037, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming_materialized": 0.831069374000208, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_all_time_timerange": 0.6304438960003154, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering": 0.7272097269999449, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_materialized": 1.1833845789999486, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency": 0.7260391600000276, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency_materialized": 0.9277226990000145, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_bar_chart_by_value": 0.5648162120003235, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math": 0.5580836759997965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math_materialized": 0.762654940999937, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort": 1.1284282610004084, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort_materialized": 1.6302445720000378, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_empty_cohort": 0.40686760299990965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property": 1.0271462860002885, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie": 0.6633727819998967, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie_materialized": 0.870781414000021, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_property_pie": 0.7684049740000773, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filter_by_precalculated_cohort": 1.074485413000275, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering": 0.8340111669999715, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value": 0.5817506379996757, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value_materialized": 1.0058639319997837, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit": 0.8280052180002713, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit_materialized": 1.0742279970002073, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_materialized": 1.0190874990000793, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons": 0.6013488749999851, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_materialized": 0.7752128560000529, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props": 0.6212501020002037, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props_materialized": 0.8715044020000278, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties": 0.5724082710000857, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_materialized": 0.9543476030000875, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_label": 0.2195561229998475, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts": 1.7884468370000377, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts_materialized": 2.3748965209999824, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort": 1.0713520359997801, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort_materialized": 1.5705844460001117, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter": 0.6439859859999615, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter_materialized": 0.858218523000005, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter": 0.46799335100013195, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_materialized": 0.5790036440000677, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter": 1.0415610800002923, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter_materialized": 1.6696368500001881, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains": 0.7134029829996962, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains_materialized": 0.9024537650000184, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_custom_range_timerange": 0.56093799700011, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_filtering": 0.8163742950000596, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering": 0.8898883530000603, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_materialized": 1.131941875999928, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter": 0.9319430889997875, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter_materialized": 1.2244472360002874, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_day_interval": 0.48737353499973324, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering": 0.5969085809999797, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering_materialized": 0.7802345590002915, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_by_precalculated_cohort": 0.9309820860000855, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort": 0.4568634940001175, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort_materialized": 0.5870807179999247, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts": 0.7691646369999035, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts": 0.472497697000108, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts_materialized": 0.5818420159998823, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_materialized": 1.0807327369998347, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props": 0.3790506990001177, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props_materialized": 0.464236020999806, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_hour_interval": 0.4573377229999096, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering": 1.0507267039999988, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown": 1.5440586730001087, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown_materialized": 2.089905372999965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding": 0.48139874299999974, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding_monthly": 0.4086538349999955, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last14days_timerange": 0.6118394870002248, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last24hours_timerange": 0.5267804679997425, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last30days_timerange": 0.6432717049995063, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last48hours_timerange": 0.5191334240003016, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last7days_timerange": 0.5162335569998504, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last90days_timerange": 0.8535810679998121, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering": 0.7589904149999711, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering_materialized": 0.9590031010004623, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering": 2.070088905000148, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering_materialized": 3.055939957999726, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering": 0.7582557840003119, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering_materialized": 0.9464221140001428, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_minute_interval": 0.43531238700006725, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_month_interval": 0.464955492999934, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_no_props": 0.34244773499972325, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering": 2.114751366000064, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering_materialized": 3.0940250989997367, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering": 2.177623440999696, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering_materialized": 3.0076593049998337, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering": 2.0972056709999833, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering_materialized": 3.0341006749999906, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering": 0.6560443570001553, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering_materialized": 0.8189616840002145, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering": 0.6127937549999842, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering_materialized": 0.7766661350001414, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_previous_month_timerange": 0.5889164729999266, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering": 0.5993743779999932, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering_materialized": 0.6753276719998667, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_response_empty_if_no_events": 0.48878588000025047, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering": 0.7307318769999256, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering_materialized": 0.9692971799997849, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_this_month_timerange": 0.6139141390001441, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_today_timerange": 0.46324101899995185, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate": 0.5484230519996345, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts": 0.7019290380001166, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts_materialized": 0.9196179389998633, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_math": 0.6495090020000589, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func": 1.5941470940001636, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func_materialized": 2.3929146379998656, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_compare": 0.7365247440002349, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_for_non_existing_action": 0.3446777579997615, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_math_without_math_property": 0.2193382999998903, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day": 0.6313969580000958, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_48hours": 0.649507506999953, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_cumulative": 0.5690370470001653, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties": 0.8107669440000791, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties_materialized": 1.0680490419999842, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_dau": 0.7057902659998945, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math": 0.5900429639998492, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math_materialized": 0.8434130340001502, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_week_interval": 0.4929843439997512, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_year_to_date_timerange": 0.6174393409999084, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_yesterday_timerange": 0.4836200270001427, "ee/clickhouse/queries/test/test_util.py::test_get_earliest_timestamp": 0.29817101799994816, "ee/clickhouse/queries/test/test_util.py::test_get_earliest_timestamp_with_no_events": 0.2513645149999775, "ee/clickhouse/queries/test/test_util.py::test_parse_breakdown_cohort_query": 0.3039989549999973, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown": 0.841712705999953, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_cohort": 0.9317270039998675, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_counts_of_different_events_one_without_events": 0.7110214580000047, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_mismatching_sizes": 0.8119365850002396, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_compare": 0.8700475400003143, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_cumulative": 0.6687702180001907, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_day_interval": 0.6479343139999401, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_event_properties": 0.670512018999716, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_formula": 1.9149967200000901, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_global_properties": 0.6656928499996866, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_hour_interval": 0.6610860820001108, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_interval_rounding": 0.4810090539999692, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_minute_interval": 0.6461675179998565, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_month_interval": 0.6366708680000102, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_multiple_events": 0.7242845410000882, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_pie": 0.6068751430000248, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_properties_with_escape_params": 0.6762701610000477, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_week_interval": 0.6385763780001525, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_calculate_usage": 0.48941504099957456, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_event_properties_or_related_updates_property_definitions": 17.938282477999792, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_team_events_or_related_updates_event_definitions": 17.887773481000067, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_cache_eviction": 0.10384061600007044, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_caching_client": 0.012063598999702663, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_client_strips_comments_from_request": 0.014801757999748588, "ee/clickhouse/test/test_middleware.py::TestQueryMiddleware::test_query": 0.919627182999875, "ee/clickhouse/test/test_system_status.py::test_system_status": 0.06140775799963194, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_cant_create_action_with_the_same_name": 0.280579556000248, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_action": 0.3841221569998652, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_action_event_with_space": 0.2676781090001441, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_from_other_domain": 0.4174442859998635, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_get_event_count": 0.3358408580002106, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_http_to_https": 0.2756131700000424, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_update_action": 0.3628241219996653, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_update_action_remove_all_steps": 0.27422708800008877, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_active_user_weekly_people": 0.49669747899997674, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_cohort_people_endpoint": 0.8055679569999938, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_event_property_none_people_endpoint": 0.6171466370001326, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_event_property_people_endpoint": 0.6151465210000424, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_person_property_nones_people_endpoint": 0.6349734699997498, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_person_property_people_endpoint": 0.6189495419996547, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_day_interval": 0.8621487249999973, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_day_interval_cumulative": 0.8869568599998274, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_filtering_by_person_properties": 0.5980624329999955, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_hour_interval": 1.2998724709998442, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_day": 0.5164292049998949, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_hour": 0.5088375650000216, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_minute": 0.540603310999586, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_month": 0.5334952069997598, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_rounding": 0.2244158010000774, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_week": 0.5511784299997089, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_is_calculating_always_false": 0.41297912399977577, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_minute_interval": 1.0859966129999066, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_month_interval": 1.1027875849999873, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_csv": 0.6013007340000058, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_cumulative": 3.879905554000061, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_endpoint_paginated": 6.516160944999683, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_week_interval": 1.0997417829998994, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_element_automatic_order": 0.24567542499994488, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_element_stats": 0.38568333099988195, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_event_property_values": 0.33916893700006767, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_action_no_steps": 0.2704922610000722, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_ascending_order_timestamp": 0.43596054199997525, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_before_and_after": 0.6830658480002967, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_custom_event_values": 0.3116981460000261, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_default_descending_order_timestamp": 0.43765403900010824, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_event_property_values": 0.5719874160001837, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_event_sessions_by_id": 0.7569591270000728, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_default_limit": 0.47848220300011235, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_maximum_limit": 0.4956198950003454, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_over_maximum_limit": 0.4748813940002492, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_with_param_limit": 0.47210443300036786, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_in_future": 0.38801796599977934, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_nonexistent_cohort_handling": 0.5705475319998641, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_sessions_basic": 2.2291892099997312, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_by_nonexisting_person": 0.28956448899998577, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_by_person": 0.3730495299998893, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events": 0.37916348499993546, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_event_name": 0.3557926289997795, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_precalculated_cohort": 1.1151705590000347, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_properties": 0.3800769369997852, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_event_by_id": 0.28024704900008146, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_events_with_specified_token": 0.41898639400005777, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_single_action": 0.2994937649998519, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_limit": 0.4069234950000009, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_live_action_events": 0.21391980299972602, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_optimize_query": 0.5271046619998287, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_pagination": 4.829561386000023, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_pagination_bounded_date_range": 0.8839354929998535, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_session_events": 0.5555353739998736, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_request_with_no_steps_doesnt_fail": 0.28954336800029523, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_with_properties": 1.866001870999753, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_funnel_steps": 0.9747470580000481, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_historical_events": 0.8163641040000584, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_picks_up_events_for_odds_ratios": 0.8725269580002077, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_is_partitioned_by_team": 1.3908437919999415, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_funnel_correlation_with_event_properties_autocapture": 1.1011329049999858, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_requires_authn": 0.22374276599998666, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_format": 0.9198618000000351, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination": 9.032663469999989, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination_with_deleted": 10.221104253000021, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdown_basic_pagination": 9.409283933999859, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdowns": 1.1256946669998342, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelCorrelationPersons::test_pagination": 2.089670500999773, "ee/clickhouse/views/test/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_basic_format": 1.2636994459996913, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_basic_results": 0.2775504460000775, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_cohort_without_match_group_works": 0.4303297689998544, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_create_insight_items": 0.259308904999898, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_favorited_insight_items": 0.268817546000264, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_insight_by_short_id": 0.26308806699989873, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_insight_items": 0.2720978520001154, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_saved_insight_items": 0.27116900499981966, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_funnels_basic_get": 0.47879737599987493, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_funnels_basic_post": 0.49228406199995334, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_paths_basic": 0.7083831629997803, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_refreshing": 0.6070565049997185, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_retention_basic": 0.49653408000017407, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_allowed_if_project_open_and_org_member": 0.32894644599991807, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_allowed_if_project_private_and_org_member_and_project_member": 0.32450302000029296, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_basic": 0.41227438999976584, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_breakdown_pagination": 0.9765281149998373, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_forbidden_if_project_private_and_org_member": 0.24129158499999903, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_with_specified_token": 0.48289658399971813, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_nonexistent_cohort_is_handled": 0.4262346999998954, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_precalculated_cohort_works": 1.166152067999974, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_save_new_funnel": 0.27401211699975647, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_update_insight": 0.25158690700027364, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_update_insight_filters": 0.005339832999879945, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_basic_exclusions": 0.5926136939999651, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_invalid_action_handled": 0.24875102399983007, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_invalid_exclusions": 0.7764534989998992, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_strict_basic_post": 0.5560231540000586, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins": 3.030403734999936, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins_strict": 2.56589407499996, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins_unordered": 6.546081921999985, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_basic_post": 0.6726990639997439, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_basic_post_backwards_compatibility": 0.6701449209997463, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_strict_basic_post": 0.7131270020001921, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_unordered_basic_post": 1.0597191010001552, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_unordered_basic_post": 0.7487043639998774, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format": 0.8736085649998131, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_get": 1.9474917909999476, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_post": 1.9541469329999472, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_path_start_key_constraints": 0.8670138430002226, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_start_point_constraints": 1.036400834999995, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination": 2.3215846449998025, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination_with_deleted": 9.344018170000027, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_path_types": 1.308208096000044, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_start_point": 1.2732035899998664, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_funnel_path_post": 2.038496304000091, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic": 0.6002012160001868, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic_exclusions": 0.6405020909999166, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_path_groupings": 1.209239086000025, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_cant_see_another_organization_pii_with_filters": 0.4052275730000474, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_delete_person": 0.6129477719998704, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_by_cohort": 0.488000435999993, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_id_or_uuid": 0.3056462429999556, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_is_identified": 0.33953578899991044, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_person_list": 0.42098698299992066, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_merge_people": 0.3687332920001154, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_cohorts": 0.7607554850001179, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_property_names": 0.3039750569998887, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_property_values": 0.3549387669997941, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_properties": 0.3662029980002899, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_return_non_anonymous_name": 0.3222630370000843, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_search": 0.3988302009997824, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_split_people_delete_props": 0.419703428000048, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_split_people_keep_props": 0.3861962799996945, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_default_limit_of_chunks": 0.49980106299994986, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_metadata_for_chunked_session_recording": 12.241319018000013, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_session_recordings": 0.36672320100001343, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_single_session_recording_metadata": 0.3308036099999754, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_snapshots_for_chunked_session_recording": 13.256453979999833, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_request_to_another_teams_endpoint_returns_401": 0.2726631450000241, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_doesnt_exist": 0.28683948700017936, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_for_user_with_multiple_distinct_ids": 0.36879256900033397, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_with_no_person": 0.3091373529998691, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recordings_dont_leak_teams": 0.3165090379998219, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_setting_viewed_state_of_session_recording": 0.6345090530001016, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_single_session_recording_doesnt_leak_teams": 0.3086119250001502, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_viewed_state_of_session_recording": 0.32080836199997975, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_interface": 0.008750657000064166, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce": 0.39514470500012067, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce_and_consume": 0.34149586099965745, "ee/tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_stickiness_cohort": 0.5154557079999904, "ee/tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort": 0.022596962000079657, "ee/tasks/test/test_org_usage_report.py::TestOrganizationUsageReport::test_event_counts": 1.1234756750000088, "ee/tasks/test/test_org_usage_report.py::TestOrganizationUsageReport::test_org_usage_report": 0.07461113699991984, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_error": 4.880100866000021, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_usage": 1.126898724000057, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageNoLicenseTest::test_no_license": 0.36430595899992113, "ee/tasks/test/test_status_report.py::TestStatusReport::test_instance_status_report_event_counts": 2.0849482789999456, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report": 0.1445598039995275, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_duplicate_distinct_ids": 0.18582451699990088, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_multiple_ids_per_person": 0.20238136500029213, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_plugins": 0.15370917099994585, "ee/clickhouse/models/test/test_property.py::test_parse_prop_clauses_defaults": 0.03579843300030916, "ee/clickhouse/queries/funnels/test/test_funnel.py::test_with_materialized_columns": 0.001733087999809868, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestCorrelationFunctions::test_are_results_insignificant": 0.002764541999795256, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::test_with_materialized_columns": 0.0018324939999274648, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::test_with_materialized_columns": 0.0014835750000656844, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::test_with_materialized_columns": 0.0018048920001092483, "ee/clickhouse/queries/test/test_breakdown_props.py::test_with_materialized_columns": 0.0016624840000076802, "ee/clickhouse/queries/test/test_paths.py::test_with_materialized_columns": 0.0028525469999749475, "ee/clickhouse/queries/test/test_trends.py::test_with_materialized_columns": 0.0017761909998625924, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error0-AttributeError-Foobar-None]": 0.002195511999843802, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error1-EstimatedQueryExecutionTimeTooLong-Estimated query execution time (34.5 seconds) is too long.-None]": 0.002550129999917772, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error2-CHQueryErrorSyntaxError-Code: 62.\\nSyntax error-62]": 0.0020832059999520425, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error3-CHQueryErrorUnknown-Code: 9999.\\nSyntax error-9999]": 0.17104966100009733, "api/test/test_action.py::TestActionApi::test_actions_does_not_nplus1": 1.5385470399999122, "api/test/test_action.py::TestActionApi::test_create_action_update_delete_tags": 0.19979837799996858, "api/test/test_action.py::TestActionApi::test_create_action_with_tags": 0.13023913199981507, "api/test/test_capture.py::TestCaptureAPI::test_capture_event_with_uuid_in_payload": 0.27399585199998455, "api/test/test_capture.py::TestCaptureAPI::test_determine_team_from_request_data_ch": 0.01760381199994754, "api/test/test_capture.py::TestCaptureAPI::test_kafka_connection_error": 0.027186072999938915, "api/test/test_capture.py::TestCaptureAPI::test_produce_to_kafka": 0.025731164000035278, "api/test/test_capture.py::TestCaptureAPI::test_unable_to_fetch_team": 0.027623076999930163, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_edit_restricted_dashboard_as_creator_who_is_project_member": 0.3191895410000143, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_edit_restricted_dashboard_as_other_user_who_is_project_admin": 0.07537858199998482, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_creator_who_is_project_admin": 0.06313130299997738, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_creator_who_is_project_member": 0.06172709499992379, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_other_user_who_is_project_admin": 0.08137712000007014, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_delete_restricted_dashboard_as_other_user_who_is_project_member": 0.07264446400006364, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_edit_restricted_dashboard_as_other_user_who_is_project_member": 0.0638485080000919, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_set_dashboard_to_restrict_editing_as_other_user_who_is_project_member": 0.06018178400006491, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_dashboard_restrictions_have_no_effect_without_license": 0.054030046000093535, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_allowed_for_project_member": 0.0719415599999138, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_org_admin": 0.058855876999928114, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_project_outsider": 0.03844774500009862, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_shared_dashboard_in_private_project": 0.07711219300006178, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_can_add_collaborator_to_edit_restricted_dashboard_as_creator": 0.319832045000112, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_can_remove_collaborator_from_restricted_dashboard_as_creator": 0.06164459400008582, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_from_other_org_to_edit_restricted_dashboard_as_creator": 0.09515990900001725, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_edit_restricted_dashboard_as_other_user": 0.056904363999933594, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_other_org_to_edit_restricted_dashboard_as_creator": 0.08776536200002738, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_unrestricted_dashboard_as_creator": 0.05438244900005884, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_yourself_to_restricted_dashboard_as_creator": 0.055766857000094205, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_remove_collaborator_from_restricted_dashboard_as_other_user": 0.055957756999987396, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_remove_collaborator_from_unrestricted_dashboard_as_creator": 0.05737026600002082, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_update_existing_collaborator": 0.1412758029998713, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_list_collaborators_as_person_without_edit_access": 0.0737501709999151, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_can_get_event_verification_data": 0.46998760500002845, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_cannot_update_verified_meta_properties_directly": 0.15155626899991148, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_create_event_definition": 0.059219778999931805, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_existing_event_definition": 0.05858937400000741, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_search_event_definition": 0.14544373000001087, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_definition": 0.08862286700002642, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_without_license": 0.04458428599991748, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_verify_then_unverify": 0.2303894730000593, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_verify_then_verify_again_no_change": 0.2604264650001369, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_with_expired_license": 0.059642080999879, "api/test/test_hooks.py::TestHooksAPI::test_create_hook": 0.4153403550001258, "api/test/test_hooks.py::TestHooksAPI::test_create_hook_with_resource_id": 0.24747178199993414, "api/test/test_hooks.py::TestHooksAPI::test_delete_hook": 0.25289331700003004, "api/test/test_insight.py::TestInsightEnterpriseAPI::test_cannot_delete_restricted_insight_as_other_user_who_is_project_member": 0.3030126390000305, "api/test/test_insight.py::TestInsightEnterpriseAPI::test_cannot_update_restricted_insight_as_other_user_who_is_project_member": 0.0702460490000476, "api/test/test_instance_settings.py::TestInstanceSettings::test_update_recordings_ttl_setting": 0.3128081999998358, "api/test/test_license.py::TestLicenseAPI::test_can_create_license": 0.27782517699995424, "api/test/test_license.py::TestLicenseAPI::test_can_list_and_retrieve_licenses": 0.03738143900011437, "api/test/test_license.py::TestLicenseAPI::test_friendly_error_when_license_key_is_invalid": 0.03446832000008726, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_organization": 0.291186062999941, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_two_similarly_named_organizations": 0.11064870799998516, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_last_organization": 1.0135875830000032, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_organization_owning": 0.9539744009999822, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_second_managed_organization": 0.9664851800000633, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_has_license": 0.025380661999975018, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_license_expired": 0.056076458000006824, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_no_license": 0.017713213000092765, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_belonging_to": 0.07732569400002376, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_owning": 0.045771792999971694, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_update_organization_not_belonging_to": 0.08863866599995163, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_update_org": 0.17792233899990606, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_can_set_and_query_property_type_and_format": 0.297793805000083, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_errors_on_invalid_property_type": 0.019766226000001552, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_filter_property_definitions": 0.07105585399983738, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_create_property_definition": 0.06638952500009054, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_existing_property_definition": 0.06487501499998416, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_search_property_definition": 0.2106401469999355, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_definition": 0.0785092020000775, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_without_license": 0.04914871400001175, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_with_expired_license": 0.049958920000108265, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_create_and_update_object_with_tags": 0.36589083999990635, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_create_with_tags": 0.08318813200003206, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_get_tags": 0.06868003900012809, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_resolve_overlapping_tags_on_update": 0.13269314799981657, "api/test/test_team.py::TestProjectEnterpriseAPI::test_can_update_and_retrieve_person_property_names_excluded_from_correlation": 0.28547822500001985, "api/test/test_team.py::TestProjectEnterpriseAPI::test_create_project": 0.2976090040000372, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_open_team_as_org_member_but_project_admin_forbidden": 0.25120040699994206, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_private_team_as_org_member_but_project_admin_allowed": 1.1634538400002157, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_second_team_as_org_admin_allowed": 1.139140483999995, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_admin_allowed": 1.1330490459999965, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_member_forbidden": 0.2597258609999926, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_admin_allowed": 0.2670117080000409, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_and_project_admin_forbidden": 0.2484690880000926, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_forbidden": 0.23870212499991794, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_admin_allowed": 0.2587440529999867, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_and_project_admin_forbidden": 0.24982839599999807, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_forbidden": 0.2531332169999132, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_nonexistent_team": 0.24415415999999368, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member": 0.25203671099984604, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_admin": 0.2721469390000948, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_member": 0.26472059100012757, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_admin_works": 0.24244704899990666, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_member_works": 0.25422212499995567, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_outsider": 0.2528684159999557, "api/test/test_team.py::TestProjectEnterpriseAPI::test_list_teams_restricted_ones_hidden": 0.2949890850001111, "api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_administrating_organization": 0.26110486900006435, "api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_belonging_to_organization": 0.5357178230000272, "api/test/test_team.py::TestProjectEnterpriseAPI::test_non_admin_cannot_create_project": 0.24182944500000758, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_and_project_member_allowed": 0.276011363000066, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_forbidden": 0.24782418300003428, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_current_as_org_outsider_forbidden": 0.25099710400002095, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_id_as_org_outsider_forbidden": 0.24668497600009687, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_project_as_org_member_allowed": 0.2717315359999475, "api/test/test_team.py::TestProjectEnterpriseAPI::test_user_that_does_not_belong_to_an_org_cannot_create_a_project": 0.24225644800014834, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_org_admin_allowed": 0.2793525839999802, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_admin_allowed": 0.2600340619999315, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_member_forbidden": 0.2463045739999643, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_allowed": 0.26004586199996993, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_and_project_member_allowed": 0.2666466030000265, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_and_project_member_forbidden": 0.25819924999996147, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_but_project_admin_allowed": 0.2616272720000552, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_forbidden": 0.2527792150000323, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_owner_allowed": 0.27260894000016833, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_current_project_allowed": 0.26557099499996184, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_private_project_forbidden": 0.2503179979999004, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_nonexistent_project_forbidden": 0.24157024199985244, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_in_outside_organization_forbidden": 0.27633936399990944, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_that_is_not_organization_member_forbidden": 0.2887145429999691, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_admin_forbidden": 0.2496074939999744, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_member_forbidden": 0.25026989799994226, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_demote_yourself_as_org_member_and_project_admin_forbidden": 0.26032516199984457, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_allowed": 0.23874632400008977, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_member": 0.24584666900011598, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_organization_outsider": 0.24233914700005244, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_project_outsider": 0.24035623499992198, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_admin_allowed": 0.2596780570000874, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_allowed": 0.25389352100012275, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_but_project_admin_allowed": 0.2645233890001464, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_current_project_no_access": 0.3648177290000376, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_but_project_admin_allowed": 0.2809614939999392, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_forbidden": 0.2503241979999302, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_owner_allowed": 0.26769050900009006, "clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class": 0.2929962700000033, "clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class_edge_cases": 0.27079402800006847, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_backfilling_data": 4.971888362999948, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_caching_and_materializing": 3.095315684999946, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_column_types": 2.9015278380001064, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_get_columns_default": 2.193842987000153, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_materialized_column_naming": 2.9913270799999054, "clickhouse/models/test/test_action.py::TestActions::test_attributes": 0.2988137449999613, "clickhouse/models/test/test_action.py::TestActions::test_empty_selector_same_as_null": 0.29273630599993794, "clickhouse/models/test/test_action.py::TestActions::test_filter_events_by_url": 0.41622951100009686, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_direct_decendant_ordering": 0.3384301040000537, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_id": 0.3254719199999272, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nested": 0.33171846000016103, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nth_child": 0.3160601490001227, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_star": 0.3236635309999656, "clickhouse/models/test/test_action.py::TestActions::test_no_person_leakage_from_other_teams": 0.34063595300006, "clickhouse/models/test/test_action.py::TestActions::test_no_steps": 0.2719697590000578, "clickhouse/models/test/test_action.py::TestActions::test_person_property": 0.36889805700013767, "clickhouse/models/test/test_action.py::TestActions::test_person_with_different_distinct_id": 0.3076948140000013, "clickhouse/models/test/test_action.py::TestActions::test_with_class": 0.30125937000002523, "clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_slashes": 0.2782861049998928, "clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_symbols": 0.2756813859999738, "clickhouse/models/test/test_action.py::TestActions::test_with_normal_filters": 0.35708307100003367, "clickhouse/models/test/test_action.py::TestActionFormat::test_double": 0.3136324599998943, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_contains_url": 0.2865217639999855, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_exact_url": 0.2793797120000363, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_regex_url": 0.2767224939999551, "clickhouse/models/test/test_cohort.py::TestCohort::test_clickhouse_empty_query": 0.5543252930000335, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_change": 0.9782817470000964, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_get_person_ids_by_cohort_id": 0.3894971050001459, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_basic": 0.7807200240000611, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_count": 2.2720838269999604, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic": 0.6589882369999032, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic_paginating": 41.78915190299995, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_deleted_person": 0.9414504290000423, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_prop_changed": 1.0530305590000353, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_timestamp": 0.5659470409998448, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_cyclic_cohort_filter": 0.5761093540002094, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_nonexistent_other_cohort_filter": 0.5895291050001106, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_valid_other_cohort_filter": 1.4936825730001146, "clickhouse/models/test/test_cohort.py::TestCohort::test_insert_by_distinct_id_or_email": 0.8271157049998692, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic": 0.4282670170000529, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action": 0.382926007000151, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action_days": 0.43042934300001434, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_event_days": 0.41711029200018856, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_multiple_groups": 0.3619348719998925, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_with_negation": 0.35164425499965546, "clickhouse/models/test/test_cohort.py::TestCohort::test_static_cohort_precalculated": 0.6329738210001778, "clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_direct_table_insert": 0.3093282789998284, "clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_kafka_insert": 2.705604937000089, "clickhouse/models/test/test_element.py::TestClickhouseElement::test_broken_class_names": 0.22932417999982135, "clickhouse/models/test/test_element.py::TestClickhouseElement::test_elements_to_string": 0.21458290800001123, "clickhouse/models/test/test_filters.py::TestFilters::test_old_style_properties": 0.2284083089998603, "clickhouse/models/test/test_filters.py::TestFilters::test_recursive_cohort": 0.012707051000006686, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_cohorts": 0.4420695439998781, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities": 0.008221897000112222, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities_with_group_math": 0.00597537099974943, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_funnel_entities_when_aggregating_by_group": 0.0047904560001370555, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_hasdone_cohort": 0.00756629000011344, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_multi_group_cohort": 0.007232887000100163, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_no_such_cohort": 0.005863469999894733, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_static_cohort": 0.007087383999987651, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_test_accounts": 0.006433877999825199, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_when_aggregating_by_group": 0.004580554000085613, "clickhouse/models/test/test_filters.py::TestFilters::test_to_dict": 0.006405177000033291, "clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters": 0.27473465899993244, "clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters_persons": 0.3048028149999027, "clickhouse/models/test/test_filters.py::TestFiltering::test_contains": 0.26397233100010453, "clickhouse/models/test/test_filters.py::TestFiltering::test_contains_persons": 0.3044517120004002, "clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain": 0.2898376369998914, "clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain_persons": 0.376624166000056, "clickhouse/models/test/test_filters.py::TestFiltering::test_element_filter": 0.2844423739998092, "clickhouse/models/test/test_filters.py::TestFiltering::test_element_selectors": 0.2531651020001391, "clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members": 0.36418391899997005, "clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members_persons": 0.3151888370000506, "clickhouse/models/test/test_filters.py::TestFiltering::test_incomplete_data": 0.2091799820000233, "clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex": 0.27116781600011564, "clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex_persons": 0.3187159810001958, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not": 0.288168818000031, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_persons": 0.30139687400014736, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set": 0.27984402000015507, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set_persons": 0.3057095260001006, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false": 0.27038610800013885, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false_persons": 0.2919430629999624, "clickhouse/models/test/test_filters.py::TestFiltering::test_json_object": 0.3149137350001183, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple": 0.2803240239998104, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality": 0.30460111299976234, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality_persons": 0.4215305000002445, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_persons": 0.3162789799998791, "clickhouse/models/test/test_filters.py::TestFiltering::test_numerical": 0.32342752399972596, "clickhouse/models/test/test_filters.py::TestFiltering::test_numerical_person_properties": 0.41265487500004383, "clickhouse/models/test/test_filters.py::TestFiltering::test_person_cohort_properties": 0.38604161300008855, "clickhouse/models/test/test_filters.py::TestFiltering::test_regex": 0.28057177800019417, "clickhouse/models/test/test_filters.py::TestFiltering::test_regex_persons": 0.335300031000088, "clickhouse/models/test/test_filters.py::TestFiltering::test_simple": 0.29235738399984257, "clickhouse/models/test/test_filters.py::TestFiltering::test_simple_persons": 0.35399515600011, "clickhouse/models/test/test_filters.py::TestFiltering::test_true_false": 0.27782483100008903, "clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties": 0.46952276399974835, "clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties_numerical": 0.4053115249998882, "clickhouse/models/test/test_filters.py::PGTestFilters::test_old_style_properties": 0.2377099709999584, "clickhouse/models/test/test_filters.py::PGTestFilters::test_simplify_test_accounts": 0.00769589000015003, "clickhouse/models/test/test_filters.py::PGTestFilters::test_to_dict": 0.0074164850000215665, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_limit_works": 0.2611102429998482, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_search_works": 0.033543089999739095, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_type_filter_works": 0.04158598499998334, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_simple_log_is_fetched": 0.030906861000175923, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups": 0.39470870000013747, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups_invalid_type": 0.22066217000019606, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups_persons": 0.6529506100000617, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_decimals": 0.38424777800014454, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element": 0.4768091559997174, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element_with_space": 0.2467280739999751, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_event": 0.3307820540001103, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_ints_saved_as_strings": 0.41509643799986407, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_person": 0.372027435000291, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_get_property_string_expr": 0.558604196000033, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized": 0.8733003930003633, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized_ints": 0.3213774989999365, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_person_denormalized": 0.44944057299971973, "clickhouse/models/test/test_property.py::test_parse_prop_clauses_defaults": 0.011038910999786822, "clickhouse/models/test/test_property.py::test_parse_groups_persons_edge_case_with_single_filter": 0.0219223190001685, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[$browser-events-prop-trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser')) AS prop]": 0.018359583999654205, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[breakdown1-events-value-array(trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser'))) AS value]": 0.018461683000168705, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[breakdown2-events-prop-array(trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser')),trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser_version'))) AS prop]": 0.033035830000017086, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property0-expected_event_indexes0]": 0.6079174520000379, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property1-expected_event_indexes1]": 0.6169437419998758, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property2-expected_event_indexes2]": 0.6309393799997451, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching a number only matches event index 4 from test_events]": 0.6085936580002453, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching on email is not a value matches all but the first event from test_events]": 0.6035813080000025, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching on email is not a value matches all but the first two events from test_events]": 0.6022713939998994, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property6-expected_event_indexes6]": 0.634538116000158, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property7-expected_event_indexes7]": 0.6228927910001403, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property8-expected_event_indexes8]": 0.6266716119998819, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching for email property not being set matches all but the first two events from test_events]": 0.6364778209999713, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching before a unix timestamp only querying by date]": 0.6187848100000792, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching after a unix timestamp only querying by date]": 0.6239442730000064, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching before a unix timestamp querying by date and time]": 0.6478049569998348, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching after a unix timestamp querying by date and time]": 0.634974005000231, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property14-expected_event_indexes14]": 0.6089837939998688, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[match after date only value against date and time formatted property]": 0.6479464600001847, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property16-expected_event_indexes16]": 0.6338227900002948, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property17-expected_event_indexes17]": 0.6584334850001596, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property18-expected_event_indexes18]": 0.6399794660001135, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property19-expected_event_indexes19]": 0.6415282810000917, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property20-expected_event_indexes20]": 0.6605258090000916, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property21-expected_event_indexes21]": 0.6297912429999997, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching a unix timestamp in seconds with fractional seconds after the decimal point]": 0.6040659119998963, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching unix timestamp in milliseconds after a given date (which ClickHouse doesn't support)]": 0.6100420219997886, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching unix timestamp in milliseconds before a given date (which ClickHouse doesn't support)]": 0.6248679820000689, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date with timeszone offset before a given date]": 0.614944443000013, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date takes into account timeszone offset after a given date]": 0.6109687260000101, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date after a given date]": 0.6219304710000415, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching ISO 8601 format date before a given date]": 0.61399289100018, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching ISO 8601 format date after a given date]": 0.6115532620001431, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts n increasing order before a given date]": 0.6090735329999006, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts in increasing order after a given date]": 0.6043441799999982, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts separated by slashes before a given date]": 0.6590524119999372, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts separated by slashes after a given date]": 0.6034888700003194, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts increasing in size and separated by slashes before a given date]": 0.6161884159998863, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts increasing in size and separated by slashes after a given date]": 0.5963952780000454, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match dates exactly]": 0.6595950709995577, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match dates exactly against datetimes and unix timestamps]": 0.6245846419999452, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match date times exactly against datetimes with milliseconds]": 0.6236234319999312, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match date only filter after against datetime with milliseconds]": 0.6123217929998646, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match after date only values]": 0.6241406379999717, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match before date only values]": 0.6243780400000105, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property0-expected_event_indexes0]": 1.1464682299999822, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property1-expected_event_indexes1]": 0.6845689780000157, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property2-expected_event_indexes2]": 0.6881973219999509, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching a number only matches event index 4 from test_events]": 0.6706528070001241, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching on email is not a value matches all but the first event from test_events]": 0.67468018999989, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching on email is not a value matches all but the first two events from test_events]": 0.681788294999933, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property6-expected_event_indexes6]": 0.7114959349996752, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property7-expected_event_indexes7]": 0.6559901010002704, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property8-expected_event_indexes8]": 0.6601816489999237, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching for email property not being set matches all but the first two events from test_events]": 0.650861242000019, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching before a unix timestamp only querying by date]": 0.953866405999861, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching after a unix timestamp only querying by date]": 0.673482500000091, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching before a unix timestamp querying by date and time]": 0.6583991289999176, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching after a unix timestamp querying by date and time]": 0.6956765529998847, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property14-expected_event_indexes14]": 0.9202850209999269, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[match after date only value against date and time formatted property]": 0.6765595920001033, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property16-expected_event_indexes16]": 0.682421387000204, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property17-expected_event_indexes17]": 0.6825384879996363, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property18-expected_event_indexes18]": 0.9289840090000325, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property19-expected_event_indexes19]": 0.6717013590000533, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property20-expected_event_indexes20]": 0.6676615110000057, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property21-expected_event_indexes21]": 0.666431096999986, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching a unix timestamp in seconds with fractional seconds after the decimal point]": 0.922171728000194, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching unix timestamp in milliseconds after a given date (which ClickHouse doesn't support)]": 0.9374720090002029, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching unix timestamp in milliseconds before a given date (which ClickHouse doesn't support)]": 0.6901432790002673, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date with timeszone offset before a given date]": 0.9332216579998658, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date takes into account timeszone offset after a given date]": 0.7222106659999099, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date after a given date]": 0.6790922369998498, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching ISO 8601 format date before a given date]": 0.9468420860000606, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching ISO 8601 format date after a given date]": 0.686128017000101, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts n increasing order before a given date]": 0.9375744810001834, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts in increasing order after a given date]": 0.7494236400000318, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts separated by slashes before a given date]": 0.9613799530000051, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts separated by slashes after a given date]": 0.6890976509998836, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts increasing in size and separated by slashes before a given date]": 0.9825866950000091, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts increasing in size and separated by slashes after a given date]": 0.7222404290000668, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match dates exactly]": 0.9492255809998369, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match dates exactly against datetimes and unix timestamps]": 0.9698335149998911, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match date times exactly against datetimes with milliseconds]": 1.018083261999891, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match date only filter after against datetime with milliseconds]": 0.7090631539999777, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match after date only values]": 0.7670715120000295, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match before date only values]": 0.7214689940001335, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_cohorts": 3.725890371999867, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_events": 3.047647718000235, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_groups": 3.0242900459998054, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_persons": 3.060555454999985, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7822757929998261, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.4305942460000551, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.687951208999948, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 1.6083053880001899, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_breakdown_group": 5.5452675590001945, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown": 3.9979042740001205, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown_materialized": 5.507798778999813, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event": 2.0199801610001487, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_materialized": 3.374047238000003, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type": 2.005498108999973, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 3.272468886000297, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.5397863310001867, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.2960788390000744, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.11584652800002, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other": 2.1195055689997844, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.3391058800000337, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 2.0670073260000663, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 3.2149403460000485, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit": 2.9630569439998453, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit_materialized": 4.756527496999979, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person": 2.7164273569999295, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person_materialized": 3.8988054079998165, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.5111044989996572, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 3.2056975379998676, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.933803905000104, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.4455181629998606, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_multi_property_breakdown_event": 2.836137966999786, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 4.727276307000238, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_step_conversion_times": 0.6599493610001446, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_times_with_different_conversion_windows": 1.5845424330000242, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_with_multiple_incomplete_tries": 0.8317731799998, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_exclusions_between_steps": 5.9301728099997035, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_multiple_exclusions_between_steps": 5.190497372999971, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps": 3.575092067999776, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps_out_of_order_events": 3.661283586000309, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_default_funnel_days": 0.4623547660000895, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps": 0.9353196410002056, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps_materialized": 1.5653550729998642, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_step_updated_param": 1.1833059870000397, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_steps": 0.8670526570003858, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_breakdown_values_is_set_on_the_query_with_fewer_than_two_entities": 0.4343659869998646, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_conversion_window": 2.237267688999964, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_default": 0.4969645080002465, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_events": 0.8837360699999408, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusion_no_end_event": 1.079551181999932, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_full_window": 1.026446567999983, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_invalid_params": 0.23215898500006915, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions": 1.144367431000319, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions_materialized": 1.8673620879999362, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties": 0.8271193620003032, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties_materialized": 1.0735064119996878, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts": 0.5804153130000032, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts_materialized": 0.7500228820001666, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions": 0.6200668779999887, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions_materialized": 1.093523360000063, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_no_events": 0.2254575089998525, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop": 0.7718295340000623, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop_materialized": 0.9973361449997356, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters": 0.744536620999952, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_materialized": 1.2912510480000492, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity": 0.8439071689999764, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity_materialized": 1.4319459939997614, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_skipped_step": 0.6106779130000177, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions": 1.0563525309999022, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events": 0.002528428999994503, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events_materialized": 0.5409396130000914, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_materialized": 1.7551921570002378, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_cohorts_step_filter": 1.3161867170001642, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_denormalised_properties": 0.7510695259998101, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_elements_chain": 1.3938436150003781, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters": 0.5852809369996521, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters_materialized": 0.8397840669997549, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties": 4.106245068000135, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties_materialized": 6.036297158999787, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_precalculated_cohort_step_filter": 1.502701049000052, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_single_step": 0.4561229360001562, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_static_cohort_step_filter": 0.9764667089998511, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_action_events_are_excluded_from_correlations": 1.6163770519997342, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_events": 4.600307396999597, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties": 5.546551295999734, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties_materialized": 6.885209079000106, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties": 3.547724621000043, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties_materialized": 5.119495246000042, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_properties_raises_validation_error": 0.29834234200006904, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_discarding_insignificant_events": 1.8388061219998235, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_events_within_conversion_window_for_correlation": 0.7433576779999385, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties": 3.220979678000049, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_and_groups": 3.421383526000227, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_and_groups_materialized": 5.1097203729998455, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture": 2.6696261290001075, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture_materialized": 4.361194937000164, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_exclusions": 1.6586491949997253, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_materialized": 5.348084824999887, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_events_and_groups": 7.864483298999858, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_properties_and_groups": 6.620825958000296, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_properties_and_groups_materialized": 8.214822424999966, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_no_divide_by_zero_errors": 0.8341786480000337, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_basic_funnel_correlation_with_events": 3.838996248000285, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_create_funnel_correlation_cohort": 2.3665549949998876, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_funnel_correlation_on_event_with_recordings": 3.5324025419997724, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_funnel_correlation_on_properties_with_recordings": 1.4507248160000472, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_people_arent_returned_multiple_times": 0.6297126120000485, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_strict_funnel_correlation_with_recordings": 2.559967122999751, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_basic_offset": 9.108401072999868, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step": 2.4926462749997427, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person": 2.914188961000036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person_materialized": 4.276264803000004, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns": 1.4289740989997881, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_materialized": 2.3658417350000036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_with_multi_property_breakdown": 1.533098984000162, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons": 0.7060965979997036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons_materialized": 1.219194183999889, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_person_recordings": 4.5400050700000065, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step": 2.2818017430001873, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step_dropoff": 2.4398935609999626, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_second_step_dropoff": 2.4470345830002316, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_are_equivalent_to_funnel_step": 5.46171497499995, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_overrides_funnel_step": 2.3755130880001616, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_where_funnel_step_equivalence_isnt_possible": 3.627552442000251, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7495378410001194, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.3626300290002291, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.7160528720000912, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 1.5931643850001365, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_breakdown_group": 4.54438227300011, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown": 4.349313850000044, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown_materialized": 5.126916831999779, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event": 1.7950467050000043, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_materialized": 2.822080638999978, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type": 1.8133615169999757, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.879918100000168, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.512550580000152, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4361708080000426, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.304778130999921, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other": 1.8328721320001478, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.004101483999875, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 1.763694328999918, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 2.979596810999965, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit": 2.8132434560002366, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 4.645683301999952, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person": 2.3058552509999117, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person_materialized": 3.4646833909998804, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.379202059000363, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 2.7685065130001476, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.684304588000032, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.3344074489998548, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_multi_property_breakdown_event": 2.4793493049999142, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 4.207911139999851, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_strict_breakdown_events_with_multiple_properties": 1.5766085950001525, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_step_conversion_times": 0.6149737180003285, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_times_with_different_conversion_windows": 1.4428837680002289, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 0.7225563459999194, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_advanced_strict_funnel": 2.6134847269997863, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel": 1.6607829540000694, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel_conversion_times": 1.2292291329997624, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_first_step": 2.296423017000052, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step": 2.1474556160001157, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step_dropoff": 2.1625305879999814, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_strict_funnel_person_recordings": 3.5188653759998942, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_third_step": 2.0835885869998947, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step": 2.5772637250001935, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step_duplicate_events": 0.002426427000273179, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_total": 4.31286035800008, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_strict": 2.3168602619998637, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_unordered": 5.60864835700022, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_custom_bin_count_single_step": 1.9253001889999268, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_date_range": 1.0679053960000147, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_results_for_day_interval": 0.8982599549999577, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_day_interval": 0.8069012949999887, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_from_second_step": 0.7320546420000937, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_event": 0.7298650160000761, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_person": 0.9575054110000565, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_trend_cohort_breakdown": 0.9841029130002426, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_hour_interval": 0.5078924869999355, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_month_interval": 0.8344737100001112, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_no_event_in_period": 0.5546642199999496, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows": 1.1495319990001462, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_strict_funnel": 0.5916420429998652, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_unordered_funnel": 2.1021423269999104, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_only_one_user_reached_one_step": 1.298592218000067, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_period_not_final": 0.5681713399999353, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_steps_performed_in_period_but_in_reverse": 0.5510568449999482, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_to_second_step": 0.6902017239999623, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_two_runs_by_single_user_in_one_period": 0.5667538240002159, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_week_interval": 0.8349170629999207, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_window_size_one_day": 0.901621619000025, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7634423929998775, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.3647311220001939, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.6912151000001359, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 3.4105473849999726, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_breakdown_group": 14.462301069999967, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown": 7.627433540000311, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown_materialized": 10.432332738000241, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event": 4.080008904000124, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_materialized": 6.435513755999864, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type": 4.349213960000043, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 6.414773887999672, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 2.543372255999884, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.509714688000031, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.318202071000087, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other": 4.332144545999881, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 6.480769372000168, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 4.08813578399986, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 6.616847513000039, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit": 3.3800425200001882, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 5.39041776199997, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person": 6.131225319999885, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person_materialized": 8.627335468000183, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 2.300822634000042, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 6.440125032999958, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 9.456629758999952, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 3.6358321180002804, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_multi_property_breakdown_event": 6.256030123999835, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 9.48903565899991, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_step_conversion_times": 0.9614129660001254, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_times_with_different_conversion_windows": 2.551640565000298, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 1.3951392479998503, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_advanced_funnel_multiple_exclusions_between_steps": 9.112437646999979, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel": 4.173162166999873, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel_conversion_times": 2.6952539869998873, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_big_multi_step_unordered_funnel": 5.000847975999704, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_full_window": 1.5395832749998135, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_invalid_params": 0.23409100200001376, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_single_event_unordered_funnel": 0.5164445130001241, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_first_step": 2.764960432999942, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_invalid_steps": 0.34054918400011047, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step": 2.449346109000089, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step_dropoff": 2.4558980499998597, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_second_step_dropoff": 2.5277033079999, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_unordered_funnel_does_not_return_recordings": 3.426326071999938, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_filter_missing_order": 0.2188882050002121, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_ordered": 0.004179027999953178, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_strict": 0.005254933999822242, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_unordered": 0.005853037000179029, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots": 8.100585236000143, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots_with_specific_limit_and_offset": 4.386596007999742, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata": 3.2898731759996735, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_does_not_leak_teams": 0.3159621249999418, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_non_existant_session_id": 0.25849885699994957, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots": 0.29906351599993286, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_does_not_leak_teams": 0.29122916599976634, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_with_no_such_session": 0.22190202200022213, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter": 0.883022057999824, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter_materialized": 1.8651401509998777, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_filters_at_once": 0.5978954299998804, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys": 0.4102441289999206, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys_with_entity_filter": 0.47025691299973005, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query": 0.4093991229999574, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query_materialized": 0.8523190619998786, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_from_filter": 0.4867546189998393, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_to_filter": 0.5144772959999955, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_duration_filter": 0.5255066670001725, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter": 0.6503184659998169, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_matching_with_no_session_id": 1.1075125950001166, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_matching_with_no_session_id_materialized": 1.1731051129997923, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_cohort_properties": 1.3852593729998262, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_cohort_properties_materialized": 1.523237257000119, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_matching_on_session_id": 1.1149445409998862, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_matching_on_session_id_materialized": 1.2101223509998817, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_person_properties": 0.7940943860000971, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_person_properties_materialized": 0.9941151639998225, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties": 0.6748329199999716, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties_materialized": 1.6434011219998865, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_multiple_event_filters": 0.6327269520002119, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_pagination": 0.6969983629999206, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_person_id_filter": 0.4529786000000513, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_that_spans_time_bounds": 0.3868296759999339, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_without_fullsnapshot_dont_appear": 0.3984844509998311, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recordings_dont_leak_data_between_teams": 0.4271707359996526, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_teams_dont_leak_event_filter": 0.4586310360002699, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_group_props": 0.7437108610001815, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props": 0.5387107490003018, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_materialized": 1.4488532880000093, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_with_entity_filter": 0.8219678710001972, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_group_types_to_query": 0.24315415899991422, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_materialized_columns_checks": 0.5975584319999143, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter": 0.2454650730001049, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter_with_actions": 0.23375229800035413, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column": 0.23788502500019604, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column_with_actions": 0.24747188600008485, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_account_filters": 1.074630889999753, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_action_with_person_property_filter": 0.5016966169998796, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_basic_event_filter": 0.3339851410000847, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_cohort_filter": 0.5515465369996946, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_denormalised_props": 0.56255590700016, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_element": 0.5044206340000983, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_entity_filtered_by_cohort": 0.7179379000001518, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_event_properties_filter": 0.46707668399972135, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_groups_filters": 0.7906452509998871, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_groups_filters_mixed": 0.8496953309997934, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_person_properties_filter": 0.48780971699989095, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_static_cohort_filter": 0.4750795359998392, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_filter_test_accounts": 1.1058018660000926, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_days": 1.1543453759998101, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_months": 1.8981988289999663, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_weeks": 1.4133225490002133, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_edge_cases": 1.127395229000058, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend": 0.8701538789998722, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_action": 0.9258625370000573, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_all_time": 0.936211503000095, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_months": 0.9079583220000131, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people": 1.173527224000054, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people_paginated": 7.949091882000175, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_prop_filtering": 0.7907189719999224, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_weeks": 0.9017556829999194, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trends_distinct_id_repeat": 0.6327626570000575, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_test_account_filters_with_groups": 1.48633083000027, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_current_url_paths_and_logic": 3.3881451219997416, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_custom_event_paths": 0.7395652419997987, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties": 3.294957727999872, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties_materialized": 5.367241918000218, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_exclusion_filters_with_wildcards": 1.0880908659999022, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters": 2.522247999999763, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters_across_single_person": 1.6449643999999353, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff": 7.4565931380000166, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff_with_group_filter": 16.79978533999997, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step": 3.040937324000197, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_limit": 8.707202808000147, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_respects_conversion_window": 6.788085211999942, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_dropoff": 3.039069284000334, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_step": 3.0428915160000543, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_between_step": 8.489838148000217, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping": 2.2948687670000254, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement": 1.0123477069998899, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement_multiple": 1.3208543910000117, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_event_ordering": 2.798366987999998, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_across_people": 0.6912756439999157, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_with_evil_input": 0.6231273050000254, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_groups_filtering": 3.6725187910001296, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_min_edge_weight": 3.1614029789998312, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording": 0.8922667089998413, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_for_dropoff": 3.256045671000038, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_with_no_window_or_session_id": 1.79887409700018, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_with_start_and_end": 3.5140249469998253, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_removes_duplicates": 0.6666982730000655, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_respect_session_limits": 0.6278188260000661, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end": 0.7218085800000154, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end_materialized": 1.7910657639999954, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_in_window": 0.6285672640001394, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_person_dropoffs": 5.015035291999766, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_properties_filter": 0.7640942919999816, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start": 1.5359508349997668, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end": 2.95206028600046, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end_materialized": 4.6532668120000835, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_dropping_orphaned_edges": 0.9941630549999445, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_properties_queried_using_path_filter": 0.3207866830000512, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_screen_paths": 0.7595411319996401, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_conversion_times": 0.6413550639999812, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_limit": 3.2503886500001045, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest": 0.011457969999810302, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_and_cross_edges": 0.005490134000183389, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_edges": 0.004861230999722466, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_no_start_point": 0.006591542000251138, "clickhouse/queries/test/test_person_distinct_id_query.py::test_person_distinct_id_query": 0.014788990999932139, "clickhouse/queries/test/test_person_query.py::test_person_query": 0.45500310099987473, "clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_requested_fields": 0.4221900990000904, "clickhouse/queries/test/test_person_query.py::test_person_query_with_entity_filters": 0.41167083399977855, "clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_fields": 0.3937601220000033, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_day_interval": 0.6646724899997025, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_filter_test_accounts": 0.7632908980001503, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_first_time_retention": 0.9653550419998282, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_aggregating": 2.042867272999956, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_filtering": 2.2413548679999167, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_in_period": 1.1467386009996972, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_hour_interval": 0.6959896920000119, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_interval_rounding": 0.693231373999879, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_month_interval": 0.7234894700000041, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_action_start_point": 0.7137843070001963, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_default": 0.6554696299999705, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_event_action": 0.6607448639999802, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_invalid_properties": 0.24224496500005444, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_multiple_events": 0.7805070379999961, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_basic": 0.6939605789998495, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_first_time": 1.2412672119999115, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_perieod_first_time": 1.008047906000229, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period": 0.7215799569999035, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_paginated": 14.853945221999993, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_properties": 0.7289960739999515, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_user_properties": 0.7912504559999434, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_week_interval": 0.7061474360000375, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_filtering": 0.7046399240000483, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop": 0.5277108380000755, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop_materialized": 1.096348828000373, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math": 0.546558055000105, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math_action": 0.5769726329997411, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming": 0.6698282149998249, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming_materialized": 1.368367717000183, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_all_time_timerange": 0.6478839739997966, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering": 0.7984168450002471, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_materialized": 1.5399874229999568, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency": 0.7952805250001802, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency_materialized": 1.6412210749999758, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_bar_chart_by_value": 0.623295115999781, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math": 0.6061812049999844, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math_materialized": 1.225129749999951, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort": 1.244574845000443, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort_materialized": 1.7165280110000367, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_empty_cohort": 0.44373827500021434, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_group_props": 1.1524356259997148, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_group_props_with_person_filter": 1.1491034040000159, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property": 1.1675308280000536, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie": 0.6823815790000936, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie_materialized": 0.9768878610000229, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_property_pie": 0.8225497539997377, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filter_by_precalculated_cohort": 1.0064445559999058, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering": 0.9175262660000953, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value": 0.6286065680001229, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value_materialized": 1.216997366999749, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit": 1.082741499000349, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit_materialized": 1.8370366620001732, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_materialized": 1.6425213249999615, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons": 0.6509509479999451, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_materialized": 0.9206755560001056, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props": 0.7299601499996697, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props_materialized": 1.4902757960003328, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties": 0.6779576119997728, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_in_new_format": 1.2840342050001254, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_materialized": 2.140008432000286, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_label": 0.23358455700008562, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts": 1.3039251660002265, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts_materialized": 1.838172984999801, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort": 0.9041514330001519, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort_materialized": 1.2822540989998288, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter": 0.7093174209999233, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter_materialized": 1.4340936560001865, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter": 0.5447207739998703, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_groups": 0.881371518999913, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_materialized": 1.1038812140000118, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter": 1.1409580429997277, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter_materialized": 2.18452530799982, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains": 0.7873676830001841, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains_materialized": 1.4613115239997114, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_custom_range_timerange": 0.6252466060000188, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_filtering": 0.8750444849999894, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering": 1.0275893790001192, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_materialized": 1.7095566189998408, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter": 1.0363791869997385, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter_materialized": 2.293533518000004, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_day_interval": 0.5372074260003501, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering": 0.708318808000513, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering_materialized": 0.9376633669999137, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_by_precalculated_cohort": 0.8165361639998991, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort": 0.509648006000134, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort_materialized": 0.7256666099997346, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts": 0.8450639929997124, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts": 0.5007618029999321, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts_materialized": 0.6885697419997996, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_materialized": 1.682076362000771, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props": 0.3993766499997946, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props_materialized": 1.4885540589998527, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_group_props": 0.8323315830002684, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_hour_interval": 0.47221817999979976, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering": 1.2096229829999174, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown": 1.5633576120008001, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown_materialized": 2.004998981999506, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding": 0.5565811219998977, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding_monthly": 0.4570427909998216, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last14days_timerange": 0.6957263019999118, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last24hours_timerange": 0.5773279580007511, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last30days_timerange": 0.671400227000504, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last48hours_timerange": 0.563124395000159, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last7days_timerange": 0.5733055109999441, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last90days_timerange": 0.8081714809991354, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering": 0.8303997339994567, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering_materialized": 1.5396787710001263, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering": 2.167772586999945, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering_materialized": 3.6218609810002818, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering": 0.8022209000000657, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering_materialized": 1.5255202879993703, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_month_interval": 0.4944628030007152, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_no_props": 0.37846128799992584, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering": 2.0922726060002788, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering_materialized": 3.68327783299992, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering": 2.095263717999842, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering_materialized": 3.5037541609999607, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering": 2.082477471999937, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering_materialized": 3.5499886600000536, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering": 0.7360381259995847, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering_materialized": 1.4257766279997668, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering": 0.6686522629997853, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering_materialized": 0.9348132760005683, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_previous_month_timerange": 0.6710353899998154, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering": 0.6369250029997602, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering_materialized": 1.270641360999889, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_response_empty_if_no_events": 0.5093135560000519, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_should_throw_exception": 0.519960675999755, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering": 0.8352491399991777, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering_materialized": 1.5079321429998345, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_this_month_timerange": 0.6460136019995844, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_today_timerange": 0.5175185489997602, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate": 0.5673361120002482, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts": 0.7511300900000606, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts_materialized": 0.9816843950002294, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_math": 0.7286230330000762, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func": 1.7888063139994301, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func_materialized": 3.4919757630000277, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_compare": 0.8258102309996502, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_for_non_existing_action": 0.3714096969997627, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_math_without_math_property": 0.21842486899959113, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day": 0.6987832960003288, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_48hours": 0.6582537359995513, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_cumulative": 0.5893926579997242, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties": 0.8432286250003926, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties_materialized": 1.2663524069998857, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_dau": 0.6936826360006307, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math": 0.6170514700002059, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math_materialized": 1.2664123059998929, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_week_interval": 0.6634324940000624, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_year_to_date_timerange": 0.6772948520001592, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_yesterday_timerange": 0.5290308759995241, "clickhouse/queries/test/test_util.py::test_get_earliest_timestamp": 0.3531473869998081, "clickhouse/queries/test/test_util.py::test_get_earliest_timestamp_with_no_events": 0.25394326900050146, "clickhouse/queries/test/test_util.py::test_parse_breakdown_cohort_query": 0.28484161800042784, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown": 0.90428451400021, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_cohort": 0.9874005520000537, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_counts_of_different_events_one_without_events": 0.7694312909998189, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_mismatching_sizes": 0.9089147670001694, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_compare": 0.8966546269998616, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_cumulative": 0.7133831579999423, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_day_interval": 0.6950103509998371, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_event_properties": 0.716653094999856, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_formula": 2.047238822000054, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_global_properties": 0.7351242009999623, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_hour_interval": 0.7155216799997106, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_interval_rounding": 0.47989501900019604, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_month_interval": 0.6844273279994013, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_multiple_events": 0.7808311170001616, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_pie": 0.6651766129998578, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_properties_with_escape_params": 0.7508227800003624, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_week_interval": 0.732694475000244, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_group_query_includes_recording_events": 0.5384214800001246, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_person_query_does_not_include_recording_events_if_flag_not_set": 0.5219140760004848, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_person_query_includes_recording_events": 0.5095445249999102, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_calculate_usage": 0.4276355029996921, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_event_properties_or_related_updates_property_definitions": 18.886705246000474, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_team_events_or_related_updates_event_definitions": 18.96476181700018, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_cache_eviction": 0.1144139829998494, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_caching_client": 0.008758400000260735, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_client_strips_comments_from_request": 0.015356273000179499, "clickhouse/test/test_middleware.py::TestQueryMiddleware::test_query": 1.1683267019998311, "clickhouse/test/test_system_status.py::test_system_status": 0.11663930700024139, "clickhouse/views/test/test_clickhouse_experiment_secondary_results.py::ClickhouseTestExperimentSecondaryResults::test_basic_secondary_metric_results": 2.3230102390002685, "clickhouse/views/test/test_clickhouse_experiment_secondary_results.py::ClickhouseTestExperimentSecondaryResults::test_secondary_metric_results_for_multiple_variants": 1.734905845999947, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_can_list_experiments": 0.27526728499969977, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_cannot_list_experiments_without_proper_license": 0.028728121999392897, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_cant_reuse_existing_feature_flag": 0.047463832999710576, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_create_multivariate_experiment": 0.14148128499982704, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_invalid_multivariate_experiment_no_control": 0.034659888000078354, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_updating_basic_experiment": 0.07716886400021394, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_updating_experiment_with_group_aggregation": 0.10900962099958633, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_deleting_experiment_soft_deletes_feature_flag": 0.2556160649996855, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_deleting_feature_flag_deletes_experiment": 0.07549634499991953, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_doesnt_have_FF_active": 0.05245168700002978, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_doesnt_have_FF_active_even_after_updates": 0.10859391699978005, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_participants_update_updates_FF": 0.11081524199971682, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_getting_archived_experiments": 0.11277496400043674, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_invalid_create": 0.04871064600001773, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_invalid_update": 0.06834576599976572, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_launching_draft_experiment_activates_FF": 0.08072240600040459, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestFunnelExperimentResults::test_experiment_flow_with_event_results": 1.6418293030001223, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestFunnelExperimentResults::test_experiment_flow_with_event_results_for_three_test_variants": 2.2204734159995496, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results": 1.967549980000058, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results_for_three_test_variants": 1.763380889000473, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results_for_two_test_variants_with_varying_exposures": 1.5084854270003234, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_empty_property_values": 0.3213216059998558, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_groups_list": 0.3098136769995108, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_property_definitions": 0.29085323899971627, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_property_values": 0.2954054760002691, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_related_groups": 0.8371019810001599, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_related_groups_person": 0.9394128149997414, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_retrieve_group": 0.324528397999984, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_update_groups_metadata": 0.26823237400003563, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format": 1.0082933800003957, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_get": 1.9760261089995765, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_post": 1.9363886709998042, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_path_start_key_constraints": 0.9532877379997444, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_start_point_constraints": 1.101382413999545, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination": 2.400572041000487, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination_with_deleted": 10.387213124000027, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_create_paths_cohort": 0.9728452740000648, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_path_types": 1.332943140000225, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_start_point": 1.4490154019995316, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_funnel_path_post": 2.0893301179994523, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic": 0.6426262409995616, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic_exclusions": 0.6892590589995962, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_path_groupings": 1.144658520000121, "clickhouse/views/test/test_clickhouse_retention.py::RetentionTests::test_retention_test_account_filters": 2.80657780599995, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_get_retention_cohort_breakdown": 1.2412932519996502, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_get_retention_cohort_breakdown_with_retention_type_target": 1.185107022000011, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property": 1.1811183760005406, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_and_retrieve_people": 0.8958119679996344, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_and_retrieve_people_materialized": 1.7925422469998011, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_materialized": 2.1258863269999893, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_person_property": 1.5877514960002372, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_person_property_materialized": 2.1877489099997547, "clickhouse/views/test/test_clickhouse_retention.py::IntervalTests::test_can_get_retention_week_interval": 1.199537519000387, "clickhouse/views/test/test_clickhouse_retention.py::RegressionTests::test_can_get_actors_and_use_percent_char_filter": 0.6791626849999375, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_default_limit_of_chunks": 0.6475478219999786, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_metadata_for_chunked_session_recording": 19.598255986999902, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_session_recordings": 0.4766140629999427, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_single_session_recording_metadata": 0.35214388900067206, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_snapshots_for_chunked_session_recording": 22.205296735999582, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_request_to_another_teams_endpoint_returns_401": 0.2614651330000015, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_doesnt_exist": 0.28716912200025035, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_for_user_with_multiple_distinct_ids": 0.43796151300011843, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_with_no_person": 0.2834169779998774, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recordings_dont_leak_teams": 0.45294108100051744, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_setting_viewed_state_of_session_recording": 0.7899261609995847, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_single_session_recording_doesnt_leak_teams": 0.32720627200023955, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_viewed_state_of_session_recording": 0.4179604890000519, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_aggregate_by_groups": 1.6487348940004267, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_compare": 0.7141587269998126, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_filter_by_group_properties": 1.6667034380002406, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_filter_test_accounts": 0.7670524239997576, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness": 0.7002249709998978, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_action": 0.6573319899998751, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_all_time": 0.6746182829997451, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_entity_filter": 0.6452071540006727, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_hours": 0.6560733739997886, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_months": 0.6639575650001461, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_endpoint": 0.6385922779995781, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_paginated": 9.333654103999834, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_with_entity_filter": 0.5848976590004895, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_prop_filter": 0.6334266020007817, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_weeks": 0.6371774450003613, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_breakdown_with_filter": 1.1029224670000985, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_breakdown_with_filter_materialized": 1.8954865550003888, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_aggregate": 0.8149526380002499, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_basic": 0.9567830269998012, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_clean_arg": 0.9351838770003269, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_compare": 0.8264858539996567, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_cumulative": 2.981720184000551, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrendsGroups::test_aggregating_by_group": 0.9451326820008035, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_aggregation_with_groups": 1.436297280999952, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_group_aggregation_with_groups_entity_filtering": 1.4970255660000475, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_with_groups_entity_filtering": 1.2812429720006548, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_with_groups_global_filtering": 1.623736411999289, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_request_with_no_steps_doesnt_fail": 0.29538281300028757, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_with_properties": 1.9257532009996794, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_funnel_steps": 0.9482588349997059, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_historical_events": 0.833621951999703, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_picks_up_events_for_odds_ratios": 0.8719883809999374, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_is_partitioned_by_team": 1.3196054000000004, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_events_correlation_endpoint_provides_people_drill_down_urls": 1.481358815999556, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_events_with_properties_correlation_endpoint_provides_people_drill_down_urls": 1.7850596209996183, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_funnel_correlation_with_event_properties_autocapture": 1.8398892359996353, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_properties_correlation_endpoint_provides_people_drill_down_urls": 2.1810598590000154, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_requires_authn": 0.23988138899994738, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_format": 0.925652576000175, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination": 9.797648144999584, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination_with_deleted": 10.813566740999704, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdown_basic_pagination": 9.947067232000336, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdowns": 1.1854758939998646, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelCorrelationActors::test_pagination": 2.1129862930001764, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_basic_format": 1.1836482720004824, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_strict_order": 0.8608176520001507, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_unordered": 1.8821931039997253, "clickhouse/views/test/funnel/test_clickhouse_funnel_unordered.py::ClickhouseTestUnorderedFunnelGroups::test_unordered_funnel_with_groups": 2.270931663999818, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_interface": 0.008639997000500443, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce": 0.3887700590003078, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce_and_consume": 0.34380175500018595, "models/test/test_event_definition_model.py::TestEventDefinition::test_default_verified_false": 0.23576914399973248, "models/test/test_event_definition_model.py::TestEventDefinition::test_errors_on_invalid_verified_by_type": 0.007267781999871659, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_calculate_cohorts": 0.24113980399988577, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_funnels_cohort": 0.617903429999842, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_stickiness_cohort": 0.38702683999963483, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort": 0.530424948000018, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort_arg_test": 0.5648505340000156, "tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_error": 6.438404195999738, "tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_usage": 2.267681829000594, "tasks/test/test_send_license_usage.py::SendLicenseUsageNoLicenseTest::test_no_license": 0.3907684809996681, "tasks/test/test_status_report.py::TestStatusReport::test_instance_status_report_event_counts": 2.1916582759999983, "tasks/test/test_status_report.py::TestStatusReport::test_status_report": 0.14247239700034697, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_duplicate_distinct_ids": 0.26345755400006965, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_multiple_ids_per_person": 0.2914452680006434, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_plugins": 0.14896207099991443, "clickhouse/models/test/test_property.py::test_combine_group_properties": 0.002199124000071606, "clickhouse/models/test/test_property.py::test_with_materialized_columns": 0.0018008200004260289, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_absolute_loss_less_than_one_percent_but_not_significant": 0.3467312879997735, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results": 0.3454197720002412, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants": 7.3001690630003395, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants_almost_equal": 9.130410286999904, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants_much_better_than_control": 14.885644429999957, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_two_test_variants": 0.7631933580000805, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_two_test_variants_almost_equal": 0.5713543069996376, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_simulation_result_is_close_to_closed_form_solution": 0.14891976999933831, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_count_data_probability": 0.0025660299997980474, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results": 0.13598782600001869, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results_small_numbers": 0.11909343700017416, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results_with_three_variants": 0.2792237309995471, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_significance_when_target_variants_underperform": 0.006684674000098312, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_results_with_different_exposures": 0.27084133800008203, "clickhouse/queries/funnels/test/test_funnel.py::test_with_materialized_columns": 0.0020041239999954996, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestCorrelationFunctions::test_are_results_insignificant": 0.002225425000233372, "clickhouse/queries/funnels/test/test_funnel_correlation.py::test_with_materialized_columns": 0.0018001209996327816, "clickhouse/queries/funnels/test/test_funnel_persons.py::test_with_materialized_columns": 0.0017705199998090393, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::test_with_materialized_columns": 0.0017216200003531412, "clickhouse/queries/test/test_breakdown_props.py::test_with_materialized_columns": 0.0016819190000205708, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_blank": 0.0019311209994157252, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_filtering": 0.0032180359999074426, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_filtering_with_custom_key_names": 0.0026504300003580283, "clickhouse/queries/test/test_paths.py::test_with_materialized_columns": 0.0018291199999111996, "clickhouse/queries/test/test_trends.py::test_with_materialized_columns": 0.0016628190001028997, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS cohortpeople ON CLUSTER posthog\\n(\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64,\\n sign Int8\\n) ENGINE = CollapsingMergeTree(sign)\\nOrder By (team_id, cohort_id, person_id)\\n\\n]": 0.005352860000584769, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_static_cohort ON CLUSTER posthog\\n(\\n id UUID,\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, cohort_id, person_id, id)\\n\\n]": 0.002348525999877893, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nORDER BY (id, event_uuid, distinct_id, team_id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0026635300000634743, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW IF NOT EXISTS events_dead_letter_queue_mv ON CLUSTER posthog\\nTO posthog_test.events_dead_letter_queue\\nAS SELECT\\nid,\\nevent_uuid,\\nevent,\\nproperties,\\ndistinct_id,\\nteam_id,\\nelements_chain,\\ncreated_at,\\nip,\\nsite_url,\\nnow,\\nraw_payload,\\nerror_timestamp,\\nerror_location,\\nerror,\\ntags,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events_dead_letter_queue\\n]": 0.0022367260003193223, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('localhost:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0023466259995075234, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , $group_0 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_0')) COMMENT 'column_materializer::$group_0'\\n , $group_1 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_1')) COMMENT 'column_materializer::$group_1'\\n , $group_2 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_2')) COMMENT 'column_materializer::$group_2'\\n , $group_3 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_3')) COMMENT 'column_materializer::$group_3'\\n , $group_4 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_4')) COMMENT 'column_materializer::$group_4'\\n , $window_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$window_id')) COMMENT 'column_materializer::$window_id'\\n , $session_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$session_id')) COMMENT 'column_materializer::$session_id'\\n\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMM(timestamp)\\nORDER BY (team_id, toDate(timestamp), event, cityHash64(distinct_id), cityHash64(uuid))\\n\\n\\n]": 0.0023610260000168637, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'localhost:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0024021270000957884, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW events_mv ON CLUSTER posthog\\nTO posthog_test.events\\nAS SELECT\\nuuid,\\nevent,\\nproperties,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nelements_chain,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events\\n]": 0.0023286249993361707, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, group_type_index, group_key)\\n\\n]": 0.0024116260005939694, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.002340027000172995, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW groups_mv ON CLUSTER posthog\\nTO posthog_test.groups\\nAS SELECT\\ngroup_type_index,\\ngroup_key,\\ncreated_at,\\nteam_id,\\ngroup_properties,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_groups\\n]": 0.002318927000487747, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, id)\\n\\n]": 0.0023635270003978803, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.0023795279998921615, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_mv ON CLUSTER posthog\\nTO posthog_test.person\\nAS SELECT\\nid,\\ncreated_at,\\nteam_id,\\nproperties,\\nis_identified,\\nis_deleted,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person\\n]": 0.002349227000195242, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Int8 DEFAULT 1,\\n is_deleted Int8 ALIAS if(_sign==-1, 1, 0)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = CollapsingMergeTree(_sign)\\nOrder By (team_id, distinct_id, person_id)\\n\\n]": 0.002360926000164909, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.002332624999780819, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_distinct_id_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id\\nAS SELECT\\ndistinct_id,\\nperson_id,\\nteam_id,\\ncoalesce(_sign, if(is_deleted==0, 1, -1)) AS _sign,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person_distinct_id\\n]": 0.0023313260003305913, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n, _partition UInt64\\n) ENGINE = ReplacingMergeTree(version)\\n\\n ORDER BY (team_id, distinct_id)\\n SETTINGS index_granularity = 512\\n ]": 0.002462426999500167, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.002362025999900652, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_distinct_id2_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id2\\nAS SELECT\\nteam_id,\\ndistinct_id,\\nperson_id,\\nis_deleted,\\nversion,\\n_timestamp,\\n_offset,\\n_partition\\nFROM posthog_test.kafka_person_distinct_id2\\n]": 0.002344527000332164, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('localhost:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0023709269999017124, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY plugin_id ORDER BY (team_id, id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0024164280002878513, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW plugin_log_entries_mv ON CLUSTER posthog\\nTO posthog_test.plugin_log_entries\\nAS SELECT\\nid,\\nteam_id,\\nplugin_id,\\nplugin_config_id,\\ntimestamp,\\nsource,\\ntype,\\nmessage,\\ninstance_id,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_plugin_log_entries\\n]": 0.0023598259999744187, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , has_full_snapshot BOOLEAN materialized JSONExtractBool(snapshot_data, 'has_full_snapshot')\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMMDD(timestamp)\\nORDER BY (team_id, toHour(timestamp), session_id, timestamp, uuid)\\n\\nSETTINGS index_granularity=512\\n]": 0.002342526000120415, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW session_recording_events_mv ON CLUSTER posthog\\nTO posthog_test.session_recording_events\\nAS SELECT\\nuuid,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nsession_id,\\nwindow_id,\\nsnapshot_data,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_session_recording_events\\n]": 0.0023197260002234543, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.002362226999593986, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS cohortpeople ON CLUSTER posthog\\n(\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64,\\n sign Int8\\n) ENGINE = CollapsingMergeTree(sign)\\nOrder By (team_id, cohort_id, person_id)\\n\\n]": 0.0030694339993715403, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_static_cohort ON CLUSTER posthog\\n(\\n id UUID,\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, cohort_id, person_id, id)\\n\\n]": 0.00296903399976145, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nORDER BY (id, event_uuid, distinct_id, team_id)\\n\\nSETTINGS index_granularity=512\\n]": 0.002974233999793796, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW IF NOT EXISTS events_dead_letter_queue_mv ON CLUSTER posthog\\nTO posthog_test.events_dead_letter_queue\\nAS SELECT\\nid,\\nevent_uuid,\\nevent,\\nproperties,\\ndistinct_id,\\nteam_id,\\nelements_chain,\\ncreated_at,\\nip,\\nsite_url,\\nnow,\\nraw_payload,\\nerror_timestamp,\\nerror_location,\\nerror,\\ntags,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events_dead_letter_queue\\n]": 0.002508528998987458, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('localhost:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0026259289998051827, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , $group_0 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_0')) COMMENT 'column_materializer::$group_0'\\n , $group_1 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_1')) COMMENT 'column_materializer::$group_1'\\n , $group_2 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_2')) COMMENT 'column_materializer::$group_2'\\n , $group_3 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_3')) COMMENT 'column_materializer::$group_3'\\n , $group_4 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_4')) COMMENT 'column_materializer::$group_4'\\n , $window_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$window_id')) COMMENT 'column_materializer::$window_id'\\n , $session_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$session_id')) COMMENT 'column_materializer::$session_id'\\n\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMM(timestamp)\\nORDER BY (team_id, toDate(timestamp), event, cityHash64(distinct_id), cityHash64(uuid))\\n\\n\\n]": 0.002947933000541525, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'localhost:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0026926309997179487, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW events_mv ON CLUSTER posthog\\nTO posthog_test.events\\nAS SELECT\\nuuid,\\nevent,\\nproperties,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nelements_chain,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events\\n]": 0.00259983000023567, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, group_type_index, group_key)\\n\\n]": 0.0029325320001589716, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.0026240289998895605, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW groups_mv ON CLUSTER posthog\\nTO posthog_test.groups\\nAS SELECT\\ngroup_type_index,\\ngroup_key,\\ncreated_at,\\nteam_id,\\ngroup_properties,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_groups\\n]": 0.002606729000035557, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, id)\\n\\n]": 0.0029596330005006166, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.002599428999928932, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_mv ON CLUSTER posthog\\nTO posthog_test.person\\nAS SELECT\\nid,\\ncreated_at,\\nteam_id,\\nproperties,\\nis_identified,\\nis_deleted,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person\\n]": 0.0025470290001976537, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Int8 DEFAULT 1,\\n is_deleted Int8 ALIAS if(_sign==-1, 1, 0)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = CollapsingMergeTree(_sign)\\nOrder By (team_id, distinct_id, person_id)\\n\\n]": 0.0028019319997838465, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.0024372270004278107, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_distinct_id_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id\\nAS SELECT\\ndistinct_id,\\nperson_id,\\nteam_id,\\ncoalesce(_sign, if(is_deleted==0, 1, -1)) AS _sign,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person_distinct_id\\n]": 0.0024399280000579893, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n, _partition UInt64\\n) ENGINE = ReplacingMergeTree(version)\\n\\n ORDER BY (team_id, distinct_id)\\n SETTINGS index_granularity = 512\\n ]": 0.002731131000473397, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.002548828999806574, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_distinct_id2_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id2\\nAS SELECT\\nteam_id,\\ndistinct_id,\\nperson_id,\\nis_deleted,\\nversion,\\n_timestamp,\\n_offset,\\n_partition\\nFROM posthog_test.kafka_person_distinct_id2\\n]": 0.002540529000270908, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('localhost:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0025744280005710607, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY plugin_id ORDER BY (team_id, id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0029442329996527405, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW plugin_log_entries_mv ON CLUSTER posthog\\nTO posthog_test.plugin_log_entries\\nAS SELECT\\nid,\\nteam_id,\\nplugin_id,\\nplugin_config_id,\\ntimestamp,\\nsource,\\ntype,\\nmessage,\\ninstance_id,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_plugin_log_entries\\n]": 0.002461029000187409, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , has_full_snapshot BOOLEAN materialized JSONExtractBool(snapshot_data, 'has_full_snapshot')\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMMDD(timestamp)\\nORDER BY (team_id, toHour(timestamp), session_id, timestamp, uuid)\\n\\nSETTINGS index_granularity=512\\n]": 0.0030223339995245624, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW session_recording_events_mv ON CLUSTER posthog\\nTO posthog_test.session_recording_events\\nAS SELECT\\nuuid,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nsession_id,\\nwindow_id,\\nsnapshot_data,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_session_recording_events\\n]": 0.0024095269995996205, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.0024596260000180337, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('localhost:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0028122310004619067, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'localhost:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0026832290000129433, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.002731829999902402, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.002687929999865446, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.0027057309994233947, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.00273703100037892, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('localhost:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0027253299999756564, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('localhost:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.0026919300003100943, "clickhouse/sql/test/test_schema.py::test_create_kafka_events_with_disabled_protobuf": 0.0026012289999925997, "clickhouse/test/test_error.py::test_wrap_query_error[error0-AttributeError-Foobar-None]": 0.0021369230003074335, "clickhouse/test/test_error.py::test_wrap_query_error[error1-EstimatedQueryExecutionTimeTooLong-Estimated query execution time (34.5 seconds) is too long.-None]": 0.0035665400005200354, "clickhouse/test/test_error.py::test_wrap_query_error[error2-CHQueryErrorSyntaxError-Code: 62.\\nSyntax error-62]": 0.002301224999882834, "clickhouse/test/test_error.py::test_wrap_query_error[error3-CHQueryErrorUnknown-Code: 9999.\\nSyntax error-9999]": 0.002256424999814044, "clickhouse/views/test/test_clickhouse_retention.py::test_with_materialized_columns": 0.0016704190002201358, "clickhouse/views/test/test_clickhouse_trends.py::test_with_materialized_columns": 1.8125781269995969}
+{"ee/api/test/test_capture.py::TestCaptureAPI::test_determine_team_from_request_data_ch": 3.4122722329999533, "ee/api/test/test_capture.py::TestCaptureAPI::test_produce_to_kafka": 0.15640384599998924, "ee/api/test/test_capture.py::TestCaptureAPI::test_unable_to_fetch_team": 0.02767883699993945, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_allowed_for_project_member": 0.3054151560000946, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_org_admin": 0.0507530999999517, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_project_outsider": 0.04411500799994883, "ee/api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_shared_dashboard_in_private_project": 0.07278180200000861, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_create_event_definition": 0.3000420400001076, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_existing_event_definition": 0.051290033000100266, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_search_event_definition": 0.12399333000018942, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_definition": 0.058352151000008234, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_without_license": 0.04512456800023301, "ee/api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_with_expired_license": 0.04844436400014729, "ee/api/test/test_hooks.py::TestHooksAPI::test_create_hook": 0.4614861830001473, "ee/api/test/test_hooks.py::TestHooksAPI::test_create_hook_with_resource_id": 0.24908502599987514, "ee/api/test/test_hooks.py::TestHooksAPI::test_delete_hook": 0.24549151300004723, "ee/api/test/test_license.py::TestLicenseAPI::test_can_create_license": 0.2613849530000607, "ee/api/test/test_license.py::TestLicenseAPI::test_can_list_and_retrieve_licenses": 0.03875799099989763, "ee/api/test/test_license.py::TestLicenseAPI::test_friendly_error_when_license_key_is_invalid": 0.03096323099998699, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_organization": 0.39356956799997533, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_two_similarly_named_organizations": 0.08080907700013995, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_last_organization": 0.12931684499994844, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_organization_owning": 0.10213543700001537, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_second_managed_organization": 0.11091855899985603, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_has_license": 0.023947615999986738, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_license_expired": 0.1589728980000018, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_no_license": 0.017647444000090218, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_belonging_to": 0.07041076400003021, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_owning": 0.043380664999972396, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_update_organization_not_belonging_to": 0.06928309499994612, "ee/api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_update_org": 0.14897150600017994, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_filter_property_definitions": 0.2764710449998802, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_create_property_definition": 0.05701777100000527, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_existing_property_definition": 0.04555449299994052, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_search_property_definition": 0.11548352700003761, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_definition": 0.053584268000008706, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_without_license": 0.0414815520001639, "ee/api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_with_expired_license": 0.0471586879999677, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_create_project": 0.29927609399999255, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_open_team_as_org_member_but_project_admin_forbidden": 0.25988916499977677, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_private_team_as_org_member_but_project_admin_allowed": 0.31280061100017065, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_second_team_as_org_admin_allowed": 0.2947191270000076, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_admin_allowed": 0.28631400100005067, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_member_forbidden": 0.24558740699990267, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_admin_allowed": 0.2501691469998377, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_and_project_admin_forbidden": 0.24232559099993978, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_forbidden": 0.2495731799999703, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_admin_allowed": 0.24469330299996273, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_and_project_admin_forbidden": 0.24642732299992076, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_forbidden": 0.2338159949999863, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_nonexistent_team": 0.23022938799999793, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member": 0.24045527900000252, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_admin": 0.23917950299994573, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_member": 0.23673856300013085, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_admin_works": 0.24385007400007908, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_member_works": 0.23670156100001805, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_outsider": 0.23722019199988154, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_list_teams_restricted_ones_hidden": 0.24700385400001323, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_administrating_organization": 0.24993142500011345, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_belonging_to_organization": 0.4943581330001052, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_non_admin_cannot_create_project": 0.23412531200006015, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_and_project_member_allowed": 0.2504248530000268, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_forbidden": 0.2445900170000641, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_current_as_org_outsider_forbidden": 0.2498482190001141, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_id_as_org_outsider_forbidden": 0.249083574999986, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_project_as_org_member_allowed": 0.25004543100010324, "ee/api/test/test_team.py::TestProjectEnterpriseAPI::test_user_that_does_not_belong_to_an_org_cannot_create_a_project": 0.25705173500000456, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_org_admin_allowed": 0.2962390970000115, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_admin_allowed": 0.2696964650000382, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_member_forbidden": 0.25836881099985476, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_allowed": 0.26233274999992773, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_and_project_member_allowed": 0.2789111210000783, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_and_project_member_forbidden": 0.24943651699993552, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_but_project_admin_allowed": 0.2690339479999011, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_forbidden": 0.25450550900006874, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_owner_allowed": 0.26489671000001636, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_current_project_allowed": 0.2612459989999252, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_private_project_forbidden": 0.26404286000001775, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_nonexistent_project_forbidden": 0.24467664100018283, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_in_outside_organization_forbidden": 0.27798216600001524, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_that_is_not_organization_member_forbidden": 0.2871032939998486, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_admin_forbidden": 0.25712405999991006, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_member_forbidden": 0.2535015509999994, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_demote_yourself_as_org_member_and_project_admin_forbidden": 0.27120667400004095, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_allowed": 0.24760580999998183, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_member": 0.2570391560000189, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_organization_outsider": 0.2384900839999773, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_project_outsider": 0.25019495799995184, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_admin_allowed": 0.2622965599999816, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_allowed": 0.24929880699994555, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_but_project_admin_allowed": 0.25404128200011655, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_but_project_admin_allowed": 0.2635854330000029, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_forbidden": 0.25542446300005395, "ee/api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_owner_allowed": 0.28908850899995286, "ee/clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class": 0.2780182679999825, "ee/clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class_edge_cases": 0.2532993400000123, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_backfilling_data": 2.2649386519999553, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_caching_and_materializing": 2.04398621200005, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_column_types": 1.8644900170000938, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_get_columns_default": 1.2085611839999046, "ee/clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_materialized_column_naming": 1.9727072100000669, "ee/clickhouse/models/test/test_action.py::TestActions::test_attributes": 0.305633364000073, "ee/clickhouse/models/test/test_action.py::TestActions::test_empty_selector_same_as_null": 0.28807818400002816, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_events_by_url": 0.4100594940001656, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_direct_decendant_ordering": 0.3475152020001815, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_id": 0.3337548340000467, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nested": 0.3481742389999454, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nth_child": 0.32776429999989887, "ee/clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_star": 0.3322757509998837, "ee/clickhouse/models/test/test_action.py::TestActions::test_no_person_leakage_from_other_teams": 0.2969962819998955, "ee/clickhouse/models/test/test_action.py::TestActions::test_no_steps": 0.2747047359999897, "ee/clickhouse/models/test/test_action.py::TestActions::test_person_property": 0.363022767999837, "ee/clickhouse/models/test/test_action.py::TestActions::test_person_with_different_distinct_id": 0.2866569039999831, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class": 0.27128364600002897, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_slashes": 0.2590381620001381, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_symbols": 0.2545901150000418, "ee/clickhouse/models/test/test_action.py::TestActions::test_with_normal_filters": 0.3334807189999083, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_double": 0.30025336300002436, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_contains_url": 0.2780357220000269, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_exact_url": 0.28150251600004594, "ee/clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_regex_url": 0.27450472600003195, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_clickhouse_empty_query": 0.3938014860001431, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_change": 1.2360476100000142, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_get_person_ids_by_cohort_id": 0.42909032500006106, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_basic": 1.0718043900001248, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_count": 1.7655990750000683, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic": 0.7087321549998933, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_deleted_person": 1.3573256099999753, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_prop_changed": 1.2782052049999493, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_timestamp": 0.6951178630000641, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_cyclic_cohort_filter": 0.6537181539999892, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_nonexistent_other_cohort_filter": 0.6918364830000883, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_valid_other_cohort_filter": 2.225866351000036, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_insert_by_distinct_id_or_email": 0.6286306940000941, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic": 0.3631944469999553, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action": 0.3576625179999837, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action_days": 0.4586738120000291, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_event_days": 0.4226943759998676, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_multiple_groups": 0.3471757960001014, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_with_negation": 0.32518419199993787, "ee/clickhouse/models/test/test_cohort.py::TestCohort::test_static_cohort_precalculated": 0.6061559610000131, "ee/clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_direct_table_insert": 0.2981627890000027, "ee/clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_kafka_insert": 2.218743123999957, "ee/clickhouse/models/test/test_element.py::TestClickhouseElement::test_broken_class_names": 0.23260135600003196, "ee/clickhouse/models/test/test_element.py::TestClickhouseElement::test_elements_to_string": 0.22320260800006508, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_old_style_properties": 0.21912436899992827, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_recursive_cohort": 0.01232651899999837, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_cohorts": 0.4339205880000918, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities": 0.008252580999965176, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_hasdone_cohort": 0.007858159000079468, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_multi_group_cohort": 0.008058771000037268, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_no_such_cohort": 0.006307767000066633, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_not_ee": 0.005643428000212225, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_static_cohort": 0.0074344329999576075, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_simplify_test_accounts": 0.006698390000110521, "ee/clickhouse/models/test/test_filters.py::TestFilters::test_to_dict": 0.0066974900000786874, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters": 0.2694861039999523, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_contains": 0.2643305039999859, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain": 0.278087206999885, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_element_filter": 0.29178920400011066, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_element_selectors": 0.25283833499997854, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members": 0.3447479909999629, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_incomplete_data": 0.20135673399988718, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex": 0.26393098100015777, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not": 0.2742751830000998, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set": 0.2779347969999435, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false": 0.25105193100012, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_json_object": 0.3020324010000195, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_multiple": 0.2585057640000059, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality": 0.2842406639999808, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_numerical": 0.31012587399993663, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_person_cohort_properties": 0.3752441679999947, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_regex": 0.26722437300009005, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_simple": 0.2769401400000788, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_true_false": 0.2753736470001513, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties": 0.4389398800000208, "ee/clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties_numerical": 0.3932783100000279, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_old_style_properties": 0.2369076289999157, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_simplify_test_accounts": 0.007483224999873528, "ee/clickhouse/models/test/test_filters.py::PGTestFilters::test_to_dict": 0.0066589779999048915, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_limit_works": 0.25374748299987004, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_search_works": 0.039133418000005804, "ee/clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_simple_log_is_fetched": 0.02878853100003198, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_decimals": 0.38779598199994325, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element": 0.5515377639999315, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_event": 0.3317341040000201, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_ints_saved_as_strings": 0.4109128919999421, "ee/clickhouse/models/test/test_property.py::TestPropFormat::test_prop_person": 0.3209162919999926, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized": 0.8594906179999953, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized_ints": 0.3324483449999889, "ee/clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_person_denormalized": 0.4328515360000438, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property0-expected_event_indexes0]": 0.2957624640000631, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property1-expected_event_indexes1]": 0.3074024239999744, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property2-expected_event_indexes2]": 0.3323187369999232, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property3-expected_event_indexes3]": 0.2961423860000423, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property4-expected_event_indexes4]": 0.290731378999908, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property5-expected_event_indexes5]": 0.29532083900005546, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property6-expected_event_indexes6]": 0.28774381200003063, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property7-expected_event_indexes7]": 0.2889992819999634, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property8-expected_event_indexes8]": 0.2845401279998896, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property9-expected_event_indexes9]": 0.28303444099992703, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property0-expected_event_indexes0]": 0.7811942019999378, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property1-expected_event_indexes1]": 0.3160298430000239, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property2-expected_event_indexes2]": 0.3157902299997204, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property3-expected_event_indexes3]": 0.3040580560000308, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property4-expected_event_indexes4]": 0.30667290600001706, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property5-expected_event_indexes5]": 0.3067553119999502, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property6-expected_event_indexes6]": 0.30191623200005324, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property7-expected_event_indexes7]": 0.3393605830000297, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property8-expected_event_indexes8]": 0.321160137999982, "ee/clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property9-expected_event_indexes9]": 0.31001489799996307, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.078508217000035, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.783673001000011, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.012095904000148, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown": 4.043667342999925, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown_materialized": 5.420725929000014, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event": 1.989234081999939, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_materialized": 3.1571343780000234, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type": 2.013538778000111, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.988358690000041, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.43275230200004, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.2715992219999634, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 1.7754772360001425, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other": 2.006685664000088, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.015030266999929, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit": 3.2913461809999944, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit_materialized": 5.136119527999881, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person": 2.735624440000038, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person_materialized": 3.868653906000077, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.491645050000102, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 3.162512784000114, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.832301138000048, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.3501407210000025, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_step_conversion_times": 0.6657537549998551, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_times_with_different_conversion_windows": 1.4371063159999267, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_with_multiple_incomplete_tries": 0.8414155469999969, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_exclusions_between_steps": 6.19118383, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_multiple_exclusions_between_steps": 5.235706039999968, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps": 3.5177383219999, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps_out_of_order_events": 3.6297619970000596, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_default_funnel_days": 0.4311247259998936, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps": 0.9098471130000689, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps_materialized": 1.4736193389999244, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_step_updated_param": 1.1744274700000688, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_steps": 0.8256870169998365, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_conversion_window": 1.941807888999847, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_default": 0.457138329999907, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_events": 1.497510004999981, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusion_no_end_event": 1.0378132280000045, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_full_window": 0.9682012870000563, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_invalid_params": 0.21746392000000014, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions": 1.0386791759999596, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions_materialized": 1.463662830999965, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties": 0.8201529910002137, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties_materialized": 1.0440497829998776, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts": 0.547256755999797, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts_materialized": 0.6288645909999104, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions": 0.6093829610000512, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions_materialized": 0.8101937129999897, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_no_events": 0.22958222099998693, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop": 0.6995953959999497, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop_materialized": 0.9251103810000814, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters": 0.6936022520000051, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_materialized": 0.9841340140000057, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity": 0.7868983670000489, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity_materialized": 1.0498301260000744, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_skipped_step": 0.5648429799999803, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions": 1.0159573589999127, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events": 0.0022172279999495004, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events_materialized": 0.22825194799997917, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_materialized": 1.4004982760000075, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_denormalised_properties": 0.5107160390001582, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_elements_chain": 1.4146405200000345, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters": 0.5841914230001066, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters_materialized": 0.6993902919999755, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties": 3.7941916690000426, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties_materialized": 5.831684114000041, "ee/clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_single_step": 0.43438579700000446, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_events": 4.385965505000058, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties": 1.8310647380001228, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties_materialized": 2.4829929260000654, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties": 3.0872295520000534, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties_materialized": 4.024911208000162, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_properties_raises_validation_error": 0.2877717890000895, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_discarding_insignificant_events": 1.6137499870001193, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_events_within_conversion_window_for_correlation": 0.7259028970000827, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties": 3.0256051159999515, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture": 2.5083253620000505, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture_materialized": 4.304017837999822, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_exclusions": 1.6548500520000289, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_materialized": 4.7832929839999, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_no_divide_by_zero_errors": 0.8458349899999575, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationPersons::test_basic_funnel_correlation_with_events": 3.3022785139999087, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationPersons::test_people_arent_returned_multiple_times": 0.6194627189997846, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_basic_offset": 7.4679280629998175, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step": 2.0018184030000157, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person": 2.707419863000041, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person_materialized": 3.9608897980003803, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns": 1.7009337240001514, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_materialized": 2.5235194669999146, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons": 0.7514521130001413, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons_materialized": 0.9805009030003475, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step": 2.0504414980000547, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step_dropoff": 1.9935798980000072, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_second_step_dropoff": 1.9569046689998686, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_are_equivalent_to_funnel_step": 4.226075908999974, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_overrides_funnel_step": 1.9434825630000887, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_where_funnel_step_equivalence_isnt_possible": 2.7207068549998894, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.1236643930001264, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.5644911669999146, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.076353946999916, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown": 4.847956962999888, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown_materialized": 6.175481664000245, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event": 1.7884084490001442, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_materialized": 2.4616166979999434, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type": 1.669936473000007, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.418227381000179, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.4016006029999062, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4593288470000516, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.0258372070002224, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other": 1.74509642299995, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 2.5626580629998443, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit": 3.385648183000285, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 4.914983846999803, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person": 2.2608127130001776, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person_materialized": 3.3384852640001554, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.5820777789999738, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 2.7351081209999393, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.016051214999834, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.176098355000022, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_strict_breakdown_events_with_multiple_properties": 1.471916070999896, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_step_conversion_times": 0.6682651129999613, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_times_with_different_conversion_windows": 1.4293016009999064, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 0.7461131239999759, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_advanced_strict_funnel": 2.4217684980001195, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel": 1.5853855069999554, "ee/clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel_conversion_times": 1.216331930000024, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_first_step": 2.2074801200001275, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step": 2.0549394879999454, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step_dropoff": 2.1008856820001256, "ee/clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_third_step": 2.021816102999992, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step": 2.7636818409998796, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step_duplicate_events": 0.0019620119999217422, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_total": 4.720440585999995, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_strict": 2.534608437000088, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_unordered": 6.098391111999945, "ee/clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_custom_bin_count_single_step": 2.1733683489999294, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_date_range": 0.9503746010000214, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_results_for_day_interval": 0.8864150009999321, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_day_interval": 0.8417590869999003, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_from_second_step": 0.70795024500012, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_event": 0.7512618979997114, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_person": 0.8645953449997705, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_trend_cohort_breakdown": 1.0014512499999455, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_hour_interval": 0.5218155439997645, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_month_interval": 0.8407360670000799, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_no_event_in_period": 0.5214756240002316, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows": 1.2615565769997374, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_strict_funnel": 0.6489340870000433, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_unordered_funnel": 2.179022748000307, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_only_one_user_reached_one_step": 1.3171744910000598, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_period_not_final": 0.5554782740000519, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_steps_performed_in_period_but_in_reverse": 0.5603675560000738, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_to_second_step": 0.6995264180002323, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_two_runs_by_single_user_in_one_period": 0.5826955500001532, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_week_interval": 0.8130320910001956, "ee/clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_window_size_one_day": 0.8851428680000026, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 1.106617993999862, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.6001500820000274, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 1.0399460520000048, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown": 7.9801272100000915, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown_materialized": 10.960380491000024, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event": 3.9825215820001176, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_materialized": 6.1375313139999434, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type": 4.114238796999871, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 5.858587421000038, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 2.4665159210001093, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4768252750002375, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 1.979720714999985, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other": 4.212692176000019, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 6.207084612000244, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit": 3.7916767340000206, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 5.7921931400001085, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person": 6.225573549000046, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person_materialized": 9.011092076000068, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 2.5194896080004128, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 6.134760683999957, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 8.977437395000152, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 3.4509319530000084, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_step_conversion_times": 0.9826531189996786, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_times_with_different_conversion_windows": 2.3925724220000575, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 1.4762856330000886, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_advanced_funnel_multiple_exclusions_between_steps": 9.308819315000164, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel": 4.205654740999762, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel_conversion_times": 2.7140712579998763, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_big_multi_step_unordered_funnel": 5.020607273000223, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_full_window": 1.501802815000019, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_invalid_params": 0.22715396200010218, "ee/clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_single_event_unordered_funnel": 0.512372287000062, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_first_step": 2.5514231310000923, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_invalid_steps": 0.3232778290000624, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step": 2.351788750999958, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step_dropoff": 2.3722616219999964, "ee/clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_second_step_dropoff": 2.3780847600000925, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots": 5.355217191000293, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots_with_specific_limit_and_offset": 3.079139939999777, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata": 0.29487378700014233, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_does_not_leak_teams": 0.2997519719999673, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_chunked_snapshots": 3.3678246719998697, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_non_existant_session_id": 0.24665759399999843, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots": 0.2789712670000881, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_does_not_leak_teams": 0.26176136999993105, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_with_no_such_session": 0.21774591899975348, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter": 0.6400951939999686, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_filters_at_once": 0.42132641600005627, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys": 0.27893696599994655, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys_with_entity_filter": 0.34368251799969585, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query": 0.2925046510001721, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_from_filter": 0.3438917290000063, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_to_filter": 0.32966690500006735, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_duration_filter": 0.34795046499993987, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter": 0.45357068500015885, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties": 0.47338933400033056, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_multiple_event_filters": 0.4976994430001014, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_pagination": 0.43227315100011765, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_person_id_filter": 0.3301338090000172, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_that_spans_time_bounds": 0.26656822999984797, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_without_fullsnapshot_dont_appear": 0.2763639970000895, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recordings_dont_leak_data_between_teams": 0.2823512440002105, "ee/clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_teams_dont_leak_event_filter": 0.34781993300020986, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props": 0.4240229439997165, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_materialized": 0.9909760599998663, "ee/clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_with_entity_filter": 1.0490752230000453, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_materialized_columns_checks": 0.5671407290001298, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter": 0.2245541970000886, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter_with_actions": 0.22966599400001542, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column": 0.22840512099992338, "ee/clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column_with_actions": 0.2599629470000764, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_account_filters": 0.5829281419999006, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_action_with_person_property_filter": 0.4718200100001013, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_basic_event_filter": 0.31612289800000326, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_cohort_filter": 0.39950662499995815, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_denormalised_props": 0.4242033549999178, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_element": 0.3523264969999218, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_entity_filtered_by_cohort": 0.48358562899966273, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_event_properties_filter": 0.3767018349999489, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_person_properties_filter": 0.463810181999861, "ee/clickhouse/queries/test/test_event_query.py::TestEventQuery::test_static_cohort_filter": 0.3803838469998482, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_filter_test_accounts": 2.412463325999852, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend": 0.9208094709997567, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_action": 0.9175159799997346, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_all_time": 0.9897915679998732, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_months": 0.9456509099998129, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people": 1.606526815999814, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people_paginated": 6.768739425000149, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_prop_filtering": 1.0175167859999874, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_weeks": 0.9423590289998174, "ee/clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trends_distinct_id_repeat": 0.8061594349999268, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_current_url_paths_and_logic": 3.6759169970000585, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_custom_event_paths": 0.763400655000396, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties": 3.735884242999873, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_exclusion_filters_with_wildcards": 1.0389361179998104, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters": 2.402655961999926, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters_across_single_person": 1.5601282509999237, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff": 8.76244784299979, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step": 4.328247638000221, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_limit": 14.897552395000275, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_respects_conversion_window": 7.797880035000162, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_dropoff": 4.393292299999985, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_step": 4.380504735999921, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_between_step": 9.845762665000166, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping": 3.494847931000095, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement": 1.0172335239999484, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement_multiple": 1.2942971729999044, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_event_ordering": 4.323235831000147, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_across_people": 0.7331012700001338, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_with_evil_input": 0.6439357049996488, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_min_edge_weight": 4.122319311999945, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_removes_duplicates": 0.6541583969999465, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_respect_session_limits": 0.6215915100001439, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end": 0.758378329000152, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end_materialized": 1.0690749079999478, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_in_window": 0.7189631339999778, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_person_dropoffs": 5.0039126689996465, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_properties_filter": 0.784160909999855, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start": 1.464056790000086, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end": 2.967617168000288, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end_materialized": 3.84066483100014, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_dropping_orphaned_edges": 1.353246177000301, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_properties_queried_using_path_filter": 0.35585270899991883, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_screen_paths": 0.8873554930003138, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_conversion_times": 0.6841376240001864, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_limit": 3.160860169999978, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest": 0.010203489999867088, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_and_cross_edges": 0.007467431999884866, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_edges": 0.005494517999977688, "ee/clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_no_start_point": 0.00558942400016349, "ee/clickhouse/queries/test/test_person_query.py::test_person_query": 0.4368775010000263, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_requested_fields": 0.4136416559999816, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_entity_filters": 0.40228060000026744, "ee/clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_fields": 0.354152213000134, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_day_interval": 0.7009385969997766, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_filter_test_accounts": 0.7092255790000763, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_first_time_retention": 0.9082447040000261, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_hour_interval": 0.6466767550000441, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_interval_rounding": 0.6302381039997726, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_minute_interval": 0.22697304600023926, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_month_interval": 0.6517703499998788, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_action_start_point": 0.6284906020000562, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_default": 0.5861015469999984, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_event_action": 0.5865528729996186, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_graph": 0.6064644260000023, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_invalid_properties": 0.2471246139998584, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_multiple_events": 0.6558271859998968, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people": 0.5245372839999618, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_first_time": 0.8992322880001211, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period": 0.6224482549998811, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period_first_time": 1.0508572710000408, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_paginated": 13.451846693000107, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_properties": 0.6330848729999161, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_user_properties": 0.709399391000261, "ee/clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_week_interval": 0.6508730020000257, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_recording_duration_gt": 0.40078271500010487, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_recording_duration_lt": 0.37407546899999033, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_filter_sessions_by_unseen_recording": 0.3732756229999268, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_join_with_session_recordings": 0.442958157999783, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run": 0.3324381559998528, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_queries_with_specific_limit_and_offset": 1.956364721, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_sequential_next_urls": 1.975238716000149, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_session_with_chunks_with_partial_snapshots": 0.30553319799992096, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_with_no_sessions": 0.208793194999771, "ee/clickhouse/queries/test/test_session_recording.py::TestClickhouseSessionRecording::test_query_run_with_no_such_session": 0.2219356569996762, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_compare": 0.6779186700000537, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_filter_sessions_precalculated_cohort": 1.2336193620001268, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_filter_test_accounts": 0.8481924339996567, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_no_events": 0.31159995000007257, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_avg_length": 0.7265896900000826, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_avg_length_interval": 0.9591475619999983, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_count_buckets": 1.4210503179999705, "ee/clickhouse/queries/test/test_sessions.py::TestClickhouseSessions::test_sessions_count_buckets_default": 0.3002597940001124, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_compare": 0.5753936309999972, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_filter_test_accounts": 0.6387358009999389, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness": 0.6765714929997557, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_action": 0.5529603320001115, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_all_time": 0.5447607580001659, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_entity_filter": 0.5887713059998987, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_hours": 0.5313776819998566, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_minutes": 0.5078811199998654, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_months": 0.5075017989997832, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_endpoint": 0.5774776530001873, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_paginated": 6.452203972000007, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_people_with_entity_filter": 0.6119255020000764, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_prop_filter": 0.5259782159998849, "ee/clickhouse/queries/test/test_stickiness.py::TestClickhouseStickiness::test_stickiness_weeks": 0.5320777679999082, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_filtering": 0.6119244049998542, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop": 0.46008807999987766, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop_materialized": 0.5614032770001813, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math": 0.5424876760000643, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math_action": 0.5361227050002526, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming": 0.616831904000037, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming_materialized": 0.831069374000208, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_all_time_timerange": 0.6304438960003154, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering": 0.7272097269999449, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_materialized": 1.1833845789999486, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency": 0.7260391600000276, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency_materialized": 0.9277226990000145, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_bar_chart_by_value": 0.5648162120003235, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math": 0.5580836759997965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math_materialized": 0.762654940999937, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort": 1.1284282610004084, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort_materialized": 1.6302445720000378, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_empty_cohort": 0.40686760299990965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property": 1.0271462860002885, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie": 0.6633727819998967, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie_materialized": 0.870781414000021, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_property_pie": 0.7684049740000773, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filter_by_precalculated_cohort": 1.074485413000275, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering": 0.8340111669999715, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value": 0.5817506379996757, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value_materialized": 1.0058639319997837, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit": 0.8280052180002713, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit_materialized": 1.0742279970002073, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_materialized": 1.0190874990000793, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons": 0.6013488749999851, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_materialized": 0.7752128560000529, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props": 0.6212501020002037, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props_materialized": 0.8715044020000278, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties": 0.5724082710000857, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_materialized": 0.9543476030000875, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_label": 0.2195561229998475, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts": 1.7884468370000377, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts_materialized": 2.3748965209999824, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort": 1.0713520359997801, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort_materialized": 1.5705844460001117, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter": 0.6439859859999615, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter_materialized": 0.858218523000005, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter": 0.46799335100013195, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_materialized": 0.5790036440000677, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter": 1.0415610800002923, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter_materialized": 1.6696368500001881, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains": 0.7134029829996962, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains_materialized": 0.9024537650000184, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_custom_range_timerange": 0.56093799700011, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_filtering": 0.8163742950000596, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering": 0.8898883530000603, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_materialized": 1.131941875999928, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter": 0.9319430889997875, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter_materialized": 1.2244472360002874, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_day_interval": 0.48737353499973324, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering": 0.5969085809999797, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering_materialized": 0.7802345590002915, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_by_precalculated_cohort": 0.9309820860000855, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort": 0.4568634940001175, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort_materialized": 0.5870807179999247, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts": 0.7691646369999035, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts": 0.472497697000108, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts_materialized": 0.5818420159998823, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_materialized": 1.0807327369998347, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props": 0.3790506990001177, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props_materialized": 0.464236020999806, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_hour_interval": 0.4573377229999096, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering": 1.0507267039999988, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown": 1.5440586730001087, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown_materialized": 2.089905372999965, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding": 0.48139874299999974, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding_monthly": 0.4086538349999955, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last14days_timerange": 0.6118394870002248, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last24hours_timerange": 0.5267804679997425, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last30days_timerange": 0.6432717049995063, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last48hours_timerange": 0.5191334240003016, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last7days_timerange": 0.5162335569998504, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last90days_timerange": 0.8535810679998121, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering": 0.7589904149999711, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering_materialized": 0.9590031010004623, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering": 2.070088905000148, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering_materialized": 3.055939957999726, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering": 0.7582557840003119, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering_materialized": 0.9464221140001428, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_minute_interval": 0.43531238700006725, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_month_interval": 0.464955492999934, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_no_props": 0.34244773499972325, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering": 2.114751366000064, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering_materialized": 3.0940250989997367, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering": 2.177623440999696, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering_materialized": 3.0076593049998337, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering": 2.0972056709999833, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering_materialized": 3.0341006749999906, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering": 0.6560443570001553, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering_materialized": 0.8189616840002145, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering": 0.6127937549999842, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering_materialized": 0.7766661350001414, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_previous_month_timerange": 0.5889164729999266, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering": 0.5993743779999932, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering_materialized": 0.6753276719998667, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_response_empty_if_no_events": 0.48878588000025047, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering": 0.7307318769999256, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering_materialized": 0.9692971799997849, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_this_month_timerange": 0.6139141390001441, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_today_timerange": 0.46324101899995185, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate": 0.5484230519996345, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts": 0.7019290380001166, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts_materialized": 0.9196179389998633, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_math": 0.6495090020000589, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func": 1.5941470940001636, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func_materialized": 2.3929146379998656, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_compare": 0.7365247440002349, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_for_non_existing_action": 0.3446777579997615, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_math_without_math_property": 0.2193382999998903, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day": 0.6313969580000958, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_48hours": 0.649507506999953, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_cumulative": 0.5690370470001653, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties": 0.8107669440000791, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties_materialized": 1.0680490419999842, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_dau": 0.7057902659998945, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math": 0.5900429639998492, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math_materialized": 0.8434130340001502, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_week_interval": 0.4929843439997512, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_year_to_date_timerange": 0.6174393409999084, "ee/clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_yesterday_timerange": 0.4836200270001427, "ee/clickhouse/queries/test/test_util.py::test_get_earliest_timestamp": 0.29817101799994816, "ee/clickhouse/queries/test/test_util.py::test_get_earliest_timestamp_with_no_events": 0.2513645149999775, "ee/clickhouse/queries/test/test_util.py::test_parse_breakdown_cohort_query": 0.3039989549999973, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown": 0.841712705999953, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_cohort": 0.9317270039998675, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_counts_of_different_events_one_without_events": 0.7110214580000047, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_mismatching_sizes": 0.8119365850002396, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_compare": 0.8700475400003143, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_cumulative": 0.6687702180001907, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_day_interval": 0.6479343139999401, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_event_properties": 0.670512018999716, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_formula": 1.9149967200000901, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_global_properties": 0.6656928499996866, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_hour_interval": 0.6610860820001108, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_interval_rounding": 0.4810090539999692, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_minute_interval": 0.6461675179998565, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_month_interval": 0.6366708680000102, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_multiple_events": 0.7242845410000882, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_pie": 0.6068751430000248, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_properties_with_escape_params": 0.6762701610000477, "ee/clickhouse/queries/trends/test/test_formula.py::TestFormula::test_week_interval": 0.6385763780001525, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_calculate_usage": 0.48941504099957456, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_event_properties_or_related_updates_property_definitions": 17.938282477999792, "ee/clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_team_events_or_related_updates_event_definitions": 17.887773481000067, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_cache_eviction": 0.10384061600007044, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_caching_client": 0.012063598999702663, "ee/clickhouse/test/test_client.py::ClickhouseClientTestCase::test_client_strips_comments_from_request": 0.014801757999748588, "ee/clickhouse/test/test_middleware.py::TestQueryMiddleware::test_query": 0.919627182999875, "ee/clickhouse/test/test_system_status.py::test_system_status": 0.06140775799963194, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_cant_create_action_with_the_same_name": 0.280579556000248, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_action": 0.3841221569998652, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_action_event_with_space": 0.2676781090001441, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_create_from_other_domain": 0.4174442859998635, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_get_event_count": 0.3358408580002106, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_http_to_https": 0.2756131700000424, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_update_action": 0.3628241219996653, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionApi::test_update_action_remove_all_steps": 0.27422708800008877, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_active_user_weekly_people": 0.49669747899997674, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_cohort_people_endpoint": 0.8055679569999938, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_event_property_none_people_endpoint": 0.6171466370001326, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_event_property_people_endpoint": 0.6151465210000424, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_person_property_nones_people_endpoint": 0.6349734699997498, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_breakdown_by_person_property_people_endpoint": 0.6189495419996547, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_day_interval": 0.8621487249999973, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_day_interval_cumulative": 0.8869568599998274, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_filtering_by_person_properties": 0.5980624329999955, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_hour_interval": 1.2998724709998442, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_day": 0.5164292049998949, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_hour": 0.5088375650000216, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_minute": 0.540603310999586, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_month": 0.5334952069997598, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_rounding": 0.2244158010000774, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_interval_week": 0.5511784299997089, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_is_calculating_always_false": 0.41297912399977577, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_minute_interval": 1.0859966129999066, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_month_interval": 1.1027875849999873, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_csv": 0.6013007340000058, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_cumulative": 3.879905554000061, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_people_endpoint_paginated": 6.516160944999683, "ee/clickhouse/views/test/test_clickhouse_action.py::TestActionPeople::test_week_interval": 1.0997417829998994, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_element_automatic_order": 0.24567542499994488, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_element_stats": 0.38568333099988195, "ee/clickhouse/views/test/test_clickhouse_element.py::TestElement::test_event_property_values": 0.33916893700006767, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_action_no_steps": 0.2704922610000722, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_ascending_order_timestamp": 0.43596054199997525, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_before_and_after": 0.6830658480002967, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_custom_event_values": 0.3116981460000261, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_default_descending_order_timestamp": 0.43765403900010824, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_event_property_values": 0.5719874160001837, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_event_sessions_by_id": 0.7569591270000728, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_default_limit": 0.47848220300011235, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_maximum_limit": 0.4956198950003454, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_over_maximum_limit": 0.4748813940002492, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_csv_export_with_param_limit": 0.47210443300036786, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_in_future": 0.38801796599977934, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_nonexistent_cohort_handling": 0.5705475319998641, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_events_sessions_basic": 2.2291892099997312, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_by_nonexisting_person": 0.28956448899998577, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_by_person": 0.3730495299998893, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events": 0.37916348499993546, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_event_name": 0.3557926289997795, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_precalculated_cohort": 1.1151705590000347, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_filter_events_by_properties": 0.3800769369997852, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_event_by_id": 0.28024704900008146, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_events_with_specified_token": 0.41898639400005777, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_get_single_action": 0.2994937649998519, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_limit": 0.4069234950000009, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_live_action_events": 0.21391980299972602, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_optimize_query": 0.5271046619998287, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_pagination": 4.829561386000023, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_pagination_bounded_date_range": 0.8839354929998535, "ee/clickhouse/views/test/test_clickhouse_event.py::ClickhouseTestEventApi::test_session_events": 0.5555353739998736, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_request_with_no_steps_doesnt_fail": 0.28954336800029523, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_with_properties": 1.866001870999753, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_funnel_steps": 0.9747470580000481, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_historical_events": 0.8163641040000584, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_picks_up_events_for_odds_ratios": 0.8725269580002077, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_is_partitioned_by_team": 1.3908437919999415, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_funnel_correlation_with_event_properties_autocapture": 1.1011329049999858, "ee/clickhouse/views/test/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_requires_authn": 0.22374276599998666, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_format": 0.9198618000000351, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination": 9.032663469999989, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination_with_deleted": 10.221104253000021, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdown_basic_pagination": 9.409283933999859, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdowns": 1.1256946669998342, "ee/clickhouse/views/test/test_clickhouse_funnel_person.py::TestFunnelCorrelationPersons::test_pagination": 2.089670500999773, "ee/clickhouse/views/test/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_basic_format": 1.2636994459996913, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_basic_results": 0.2775504460000775, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_cohort_without_match_group_works": 0.4303297689998544, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_create_insight_items": 0.259308904999898, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_favorited_insight_items": 0.268817546000264, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_insight_by_short_id": 0.26308806699989873, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_insight_items": 0.2720978520001154, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_get_saved_insight_items": 0.27116900499981966, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_funnels_basic_get": 0.47879737599987493, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_funnels_basic_post": 0.49228406199995334, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_paths_basic": 0.7083831629997803, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_refreshing": 0.6070565049997185, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_retention_basic": 0.49653408000017407, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_allowed_if_project_open_and_org_member": 0.32894644599991807, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_allowed_if_project_private_and_org_member_and_project_member": 0.32450302000029296, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_basic": 0.41227438999976584, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_breakdown_pagination": 0.9765281149998373, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_trends_forbidden_if_project_private_and_org_member": 0.24129158499999903, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_insight_with_specified_token": 0.48289658399971813, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_nonexistent_cohort_is_handled": 0.4262346999998954, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_precalculated_cohort_works": 1.166152067999974, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_save_new_funnel": 0.27401211699975647, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_update_insight": 0.25158690700027364, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestInsights::test_update_insight_filters": 0.005339832999879945, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_basic_exclusions": 0.5926136939999651, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_invalid_action_handled": 0.24875102399983007, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_invalid_exclusions": 0.7764534989998992, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_strict_basic_post": 0.5560231540000586, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins": 3.030403734999936, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins_strict": 2.56589407499996, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_time_to_convert_auto_bins_unordered": 6.546081921999985, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_basic_post": 0.6726990639997439, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_basic_post_backwards_compatibility": 0.6701449209997463, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_strict_basic_post": 0.7131270020001921, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_trends_unordered_basic_post": 1.0597191010001552, "ee/clickhouse/views/test/test_clickhouse_insights.py::ClickhouseTestFunnelTypes::test_funnel_unordered_basic_post": 0.7487043639998774, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format": 0.8736085649998131, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_get": 1.9474917909999476, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_post": 1.9541469329999472, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_path_start_key_constraints": 0.8670138430002226, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_start_point_constraints": 1.036400834999995, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination": 2.3215846449998025, "ee/clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination_with_deleted": 9.344018170000027, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_path_types": 1.308208096000044, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_start_point": 1.2732035899998664, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_funnel_path_post": 2.038496304000091, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic": 0.6002012160001868, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic_exclusions": 0.6405020909999166, "ee/clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_path_groupings": 1.209239086000025, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_cant_see_another_organization_pii_with_filters": 0.4052275730000474, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_delete_person": 0.6129477719998704, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_by_cohort": 0.488000435999993, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_id_or_uuid": 0.3056462429999556, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_is_identified": 0.33953578899991044, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_filter_person_list": 0.42098698299992066, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_merge_people": 0.3687332920001154, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_cohorts": 0.7607554850001179, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_property_names": 0.3039750569998887, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_person_property_values": 0.3549387669997941, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_properties": 0.3662029980002899, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_return_non_anonymous_name": 0.3222630370000843, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_search": 0.3988302009997824, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_split_people_delete_props": 0.419703428000048, "ee/clickhouse/views/test/test_clickhouse_person.py::ClickhouseTestPersonApi::test_split_people_keep_props": 0.3861962799996945, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_default_limit_of_chunks": 0.49980106299994986, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_metadata_for_chunked_session_recording": 12.241319018000013, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_session_recordings": 0.36672320100001343, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_single_session_recording_metadata": 0.3308036099999754, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_snapshots_for_chunked_session_recording": 13.256453979999833, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_request_to_another_teams_endpoint_returns_401": 0.2726631450000241, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_doesnt_exist": 0.28683948700017936, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_for_user_with_multiple_distinct_ids": 0.36879256900033397, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_with_no_person": 0.3091373529998691, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recordings_dont_leak_teams": 0.3165090379998219, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_setting_viewed_state_of_session_recording": 0.6345090530001016, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_single_session_recording_doesnt_leak_teams": 0.3086119250001502, "ee/clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_viewed_state_of_session_recording": 0.32080836199997975, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_interface": 0.008750657000064166, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce": 0.39514470500012067, "ee/kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce_and_consume": 0.34149586099965745, "ee/tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_stickiness_cohort": 0.5154557079999904, "ee/tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort": 0.022596962000079657, "ee/tasks/test/test_org_usage_report.py::TestOrganizationUsageReport::test_event_counts": 1.1234756750000088, "ee/tasks/test/test_org_usage_report.py::TestOrganizationUsageReport::test_org_usage_report": 0.07461113699991984, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_error": 4.880100866000021, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_usage": 1.126898724000057, "ee/tasks/test/test_send_license_usage.py::SendLicenseUsageNoLicenseTest::test_no_license": 0.36430595899992113, "ee/tasks/test/test_status_report.py::TestStatusReport::test_instance_status_report_event_counts": 2.0849482789999456, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report": 0.1445598039995275, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_duplicate_distinct_ids": 0.18582451699990088, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_multiple_ids_per_person": 0.20238136500029213, "ee/tasks/test/test_status_report.py::TestStatusReport::test_status_report_plugins": 0.15370917099994585, "ee/clickhouse/models/test/test_property.py::test_parse_prop_clauses_defaults": 0.03579843300030916, "ee/clickhouse/queries/funnels/test/test_funnel.py::test_with_materialized_columns": 0.001733087999809868, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::TestCorrelationFunctions::test_are_results_insignificant": 0.002764541999795256, "ee/clickhouse/queries/funnels/test/test_funnel_correlation.py::test_with_materialized_columns": 0.0018324939999274648, "ee/clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::test_with_materialized_columns": 0.0014835750000656844, "ee/clickhouse/queries/funnels/test/test_funnel_persons.py::test_with_materialized_columns": 0.0018048920001092483, "ee/clickhouse/queries/test/test_breakdown_props.py::test_with_materialized_columns": 0.0016624840000076802, "ee/clickhouse/queries/test/test_paths.py::test_with_materialized_columns": 0.0028525469999749475, "ee/clickhouse/queries/test/test_trends.py::test_with_materialized_columns": 0.0017761909998625924, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error0-AttributeError-Foobar-None]": 0.002195511999843802, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error1-EstimatedQueryExecutionTimeTooLong-Estimated query execution time (34.5 seconds) is too long.-None]": 0.002550129999917772, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error2-CHQueryErrorSyntaxError-Code: 62.\\nSyntax error-62]": 0.0020832059999520425, "ee/clickhouse/test/test_error.py::test_wrap_query_error[error3-CHQueryErrorUnknown-Code: 9999.\\nSyntax error-9999]": 0.17104966100009733, "api/test/test_action.py::TestActionApi::test_actions_does_not_nplus1": 1.5385470399999122, "api/test/test_action.py::TestActionApi::test_create_action_update_delete_tags": 0.19979837799996858, "api/test/test_action.py::TestActionApi::test_create_action_with_tags": 0.13023913199981507, "api/test/test_capture.py::TestCaptureAPI::test_capture_event_with_uuid_in_payload": 0.27399585199998455, "api/test/test_capture.py::TestCaptureAPI::test_determine_team_from_request_data_ch": 0.01760381199994754, "api/test/test_capture.py::TestCaptureAPI::test_kafka_connection_error": 0.027186072999938915, "api/test/test_capture.py::TestCaptureAPI::test_produce_to_kafka": 0.025731164000035278, "api/test/test_capture.py::TestCaptureAPI::test_unable_to_fetch_team": 0.027623076999930163, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_edit_restricted_dashboard_as_creator_who_is_project_member": 0.3191895410000143, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_edit_restricted_dashboard_as_other_user_who_is_project_admin": 0.07537858199998482, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_creator_who_is_project_admin": 0.06313130299997738, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_creator_who_is_project_member": 0.06172709499992379, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_can_set_dashboard_to_restrict_editing_as_other_user_who_is_project_admin": 0.08137712000007014, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_delete_restricted_dashboard_as_other_user_who_is_project_member": 0.07264446400006364, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_edit_restricted_dashboard_as_other_user_who_is_project_member": 0.0638485080000919, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_cannot_set_dashboard_to_restrict_editing_as_other_user_who_is_project_member": 0.06018178400006491, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_dashboard_restrictions_have_no_effect_without_license": 0.054030046000093535, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_allowed_for_project_member": 0.0719415599999138, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_org_admin": 0.058855876999928114, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_retrieve_dashboard_forbidden_for_project_outsider": 0.03844774500009862, "api/test/test_dashboard.py::TestDashboardEnterpriseAPI::test_shared_dashboard_in_private_project": 0.07711219300006178, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_can_add_collaborator_to_edit_restricted_dashboard_as_creator": 0.319832045000112, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_can_remove_collaborator_from_restricted_dashboard_as_creator": 0.06164459400008582, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_from_other_org_to_edit_restricted_dashboard_as_creator": 0.09515990900001725, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_edit_restricted_dashboard_as_other_user": 0.056904363999933594, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_other_org_to_edit_restricted_dashboard_as_creator": 0.08776536200002738, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_collaborator_to_unrestricted_dashboard_as_creator": 0.05438244900005884, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_add_yourself_to_restricted_dashboard_as_creator": 0.055766857000094205, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_remove_collaborator_from_restricted_dashboard_as_other_user": 0.055957756999987396, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_remove_collaborator_from_unrestricted_dashboard_as_creator": 0.05737026600002082, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_cannot_update_existing_collaborator": 0.1412758029998713, "api/test/test_dashboard_collaborators.py::TestDashboardCollaboratorsAPI::test_list_collaborators_as_person_without_edit_access": 0.0737501709999151, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_can_get_event_verification_data": 0.46998760500002845, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_cannot_update_verified_meta_properties_directly": 0.15155626899991148, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_create_event_definition": 0.059219778999931805, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_retrieve_existing_event_definition": 0.05858937400000741, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_search_event_definition": 0.14544373000001087, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_definition": 0.08862286700002642, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_update_event_without_license": 0.04458428599991748, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_verify_then_unverify": 0.2303894730000593, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_verify_then_verify_again_no_change": 0.2604264650001369, "api/test/test_event_definition.py::TestEventDefinitionEnterpriseAPI::test_with_expired_license": 0.059642080999879, "api/test/test_hooks.py::TestHooksAPI::test_create_hook": 0.4153403550001258, "api/test/test_hooks.py::TestHooksAPI::test_create_hook_with_resource_id": 0.24747178199993414, "api/test/test_hooks.py::TestHooksAPI::test_delete_hook": 0.25289331700003004, "api/test/test_insight.py::TestInsightEnterpriseAPI::test_cannot_delete_restricted_insight_as_other_user_who_is_project_member": 0.3030126390000305, "api/test/test_insight.py::TestInsightEnterpriseAPI::test_cannot_update_restricted_insight_as_other_user_who_is_project_member": 0.0702460490000476, "api/test/test_instance_settings.py::TestInstanceSettings::test_update_recordings_ttl_setting": 0.3128081999998358, "api/test/test_license.py::TestLicenseAPI::test_can_create_license": 0.27782517699995424, "api/test/test_license.py::TestLicenseAPI::test_can_list_and_retrieve_licenses": 0.03738143900011437, "api/test/test_license.py::TestLicenseAPI::test_friendly_error_when_license_key_is_invalid": 0.03446832000008726, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_organization": 0.291186062999941, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_create_two_similarly_named_organizations": 0.11064870799998516, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_last_organization": 1.0135875830000032, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_organization_owning": 0.9539744009999822, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_delete_second_managed_organization": 0.9664851800000633, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_has_license": 0.025380661999975018, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_license_expired": 0.056076458000006824, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_feature_available_self_hosted_no_license": 0.017713213000092765, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_belonging_to": 0.07732569400002376, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_delete_organization_not_owning": 0.045771792999971694, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_no_update_organization_not_belonging_to": 0.08863866599995163, "api/test/test_organization.py::TestOrganizationEnterpriseAPI::test_update_org": 0.17792233899990606, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_can_set_and_query_property_type_and_format": 0.297793805000083, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_errors_on_invalid_property_type": 0.019766226000001552, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_filter_property_definitions": 0.07105585399983738, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_create_property_definition": 0.06638952500009054, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_retrieve_existing_property_definition": 0.06487501499998416, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_search_property_definition": 0.2106401469999355, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_definition": 0.0785092020000775, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_update_property_without_license": 0.04914871400001175, "api/test/test_property_definition.py::TestPropertyDefinitionEnterpriseAPI::test_with_expired_license": 0.049958920000108265, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_create_and_update_object_with_tags": 0.36589083999990635, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_create_with_tags": 0.08318813200003206, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_get_tags": 0.06868003900012809, "api/test/test_tagged_item.py::TestEnterpriseTaggedItemSerializerMixin::test_resolve_overlapping_tags_on_update": 0.13269314799981657, "api/test/test_team.py::TestProjectEnterpriseAPI::test_can_update_and_retrieve_person_property_names_excluded_from_correlation": 0.28547822500001985, "api/test/test_team.py::TestProjectEnterpriseAPI::test_create_project": 0.2976090040000372, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_open_team_as_org_member_but_project_admin_forbidden": 0.25120040699994206, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_private_team_as_org_member_but_project_admin_allowed": 1.1634538400002157, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_second_team_as_org_admin_allowed": 1.139140483999995, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_admin_allowed": 1.1330490459999965, "api/test/test_team.py::TestProjectEnterpriseAPI::test_delete_team_as_org_member_forbidden": 0.2597258609999926, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_admin_allowed": 0.2670117080000409, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_and_project_admin_forbidden": 0.2484690880000926, "api/test/test_team.py::TestProjectEnterpriseAPI::test_disable_access_control_as_org_member_forbidden": 0.23870212499991794, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_admin_allowed": 0.2587440529999867, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_and_project_admin_forbidden": 0.24982839599999807, "api/test/test_team.py::TestProjectEnterpriseAPI::test_enable_access_control_as_org_member_forbidden": 0.2531332169999132, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_nonexistent_team": 0.24415415999999368, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member": 0.25203671099984604, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_admin": 0.2721469390000948, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_private_team_as_org_member_and_project_member": 0.26472059100012757, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_admin_works": 0.24244704899990666, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_member_works": 0.25422212499995567, "api/test/test_team.py::TestProjectEnterpriseAPI::test_fetch_team_as_org_outsider": 0.2528684159999557, "api/test/test_team.py::TestProjectEnterpriseAPI::test_list_teams_restricted_ones_hidden": 0.2949890850001111, "api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_administrating_organization": 0.26110486900006435, "api/test/test_team.py::TestProjectEnterpriseAPI::test_no_delete_team_not_belonging_to_organization": 0.5357178230000272, "api/test/test_team.py::TestProjectEnterpriseAPI::test_non_admin_cannot_create_project": 0.24182944500000758, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_and_project_member_allowed": 0.276011363000066, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_as_org_member_forbidden": 0.24782418300003428, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_current_as_org_outsider_forbidden": 0.25099710400002095, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_private_project_id_as_org_outsider_forbidden": 0.24668497600009687, "api/test/test_team.py::TestProjectEnterpriseAPI::test_rename_project_as_org_member_allowed": 0.2717315359999475, "api/test/test_team.py::TestProjectEnterpriseAPI::test_user_that_does_not_belong_to_an_org_cannot_create_a_project": 0.24225644800014834, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_org_admin_allowed": 0.2793525839999802, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_admin_allowed": 0.2600340619999315, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_admin_as_project_member_forbidden": 0.2463045739999643, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_allowed": 0.26004586199996993, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_admin_and_project_member_allowed": 0.2666466030000265, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_and_project_member_forbidden": 0.25819924999996147, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_but_project_admin_allowed": 0.2616272720000552, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_member_forbidden": 0.2527792150000323, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_as_org_owner_allowed": 0.27260894000016833, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_current_project_allowed": 0.26557099499996184, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_non_private_project_forbidden": 0.2503179979999004, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_nonexistent_project_forbidden": 0.24157024199985244, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_in_outside_organization_forbidden": 0.27633936399990944, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_member_to_project_that_is_not_organization_member_forbidden": 0.2887145429999691, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_admin_forbidden": 0.2496074939999744, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_add_yourself_as_org_member_forbidden": 0.25026989799994226, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_demote_yourself_as_org_member_and_project_admin_forbidden": 0.26032516199984457, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_allowed": 0.23874632400008977, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_admin_member": 0.24584666900011598, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_organization_outsider": 0.24233914700005244, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_leave_project_as_project_outsider": 0.24035623499992198, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_admin_allowed": 0.2596780570000874, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_allowed": 0.25389352100012275, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_remove_member_as_org_member_but_project_admin_allowed": 0.2645233890001464, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_current_project_no_access": 0.3648177290000376, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_but_project_admin_allowed": 0.2809614939999392, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_member_forbidden": 0.2503241979999302, "api/test/test_team_memberships.py::TestTeamMembershipsAPI::test_set_level_of_member_to_admin_as_org_owner_allowed": 0.26769050900009006, "clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class": 0.2929962700000033, "clickhouse/materialized_columns/test/test_analyze.py::TestMaterializedColumnsAnalyze::test_query_class_edge_cases": 0.27079402800006847, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_backfilling_data": 4.971888362999948, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_caching_and_materializing": 3.095315684999946, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_column_types": 2.9015278380001064, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_get_columns_default": 2.193842987000153, "clickhouse/materialized_columns/test/test_columns.py::TestMaterializedColumns::test_materialized_column_naming": 2.9913270799999054, "clickhouse/models/test/test_action.py::TestActions::test_attributes": 0.2988137449999613, "clickhouse/models/test/test_action.py::TestActions::test_empty_selector_same_as_null": 0.29273630599993794, "clickhouse/models/test/test_action.py::TestActions::test_filter_events_by_url": 0.41622951100009686, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_direct_decendant_ordering": 0.3384301040000537, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_id": 0.3254719199999272, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nested": 0.33171846000016103, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_nth_child": 0.3160601490001227, "clickhouse/models/test/test_action.py::TestActions::test_filter_with_selector_star": 0.3236635309999656, "clickhouse/models/test/test_action.py::TestActions::test_no_person_leakage_from_other_teams": 0.34063595300006, "clickhouse/models/test/test_action.py::TestActions::test_no_steps": 0.2719697590000578, "clickhouse/models/test/test_action.py::TestActions::test_person_property": 0.36889805700013767, "clickhouse/models/test/test_action.py::TestActions::test_person_with_different_distinct_id": 0.3076948140000013, "clickhouse/models/test/test_action.py::TestActions::test_with_class": 0.30125937000002523, "clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_slashes": 0.2782861049998928, "clickhouse/models/test/test_action.py::TestActions::test_with_class_with_escaped_symbols": 0.2756813859999738, "clickhouse/models/test/test_action.py::TestActions::test_with_normal_filters": 0.35708307100003367, "clickhouse/models/test/test_action.py::TestActionFormat::test_double": 0.3136324599998943, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_contains_url": 0.2865217639999855, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_exact_url": 0.2793797120000363, "clickhouse/models/test/test_action.py::TestActionFormat::test_filter_event_regex_url": 0.2767224939999551, "clickhouse/models/test/test_cohort.py::TestCohort::test_clickhouse_empty_query": 0.5543252930000335, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_change": 0.9782817470000964, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohort_get_person_ids_by_cohort_id": 0.3894971050001459, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_basic": 0.7807200240000611, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_action_count": 2.2720838269999604, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic": 0.6589882369999032, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_basic_paginating": 41.78915190299995, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_deleted_person": 0.9414504290000423, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_prop_changed": 1.0530305590000353, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_timestamp": 0.5659470409998448, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_cyclic_cohort_filter": 0.5761093540002094, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_nonexistent_other_cohort_filter": 0.5895291050001106, "clickhouse/models/test/test_cohort.py::TestCohort::test_cohortpeople_with_valid_other_cohort_filter": 1.4936825730001146, "clickhouse/models/test/test_cohort.py::TestCohort::test_insert_by_distinct_id_or_email": 0.8271157049998692, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic": 0.4282670170000529, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action": 0.382926007000151, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_action_days": 0.43042934300001434, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_basic_event_days": 0.41711029200018856, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_multiple_groups": 0.3619348719998925, "clickhouse/models/test/test_cohort.py::TestCohort::test_prop_cohort_with_negation": 0.35164425499965546, "clickhouse/models/test/test_cohort.py::TestCohort::test_static_cohort_precalculated": 0.6329738210001778, "clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_direct_table_insert": 0.3093282789998284, "clickhouse/models/test/test_dead_letter_queue.py::TestDeadLetterQueue::test_kafka_insert": 2.705604937000089, "clickhouse/models/test/test_element.py::TestClickhouseElement::test_broken_class_names": 0.22932417999982135, "clickhouse/models/test/test_element.py::TestClickhouseElement::test_elements_to_string": 0.21458290800001123, "clickhouse/models/test/test_filters.py::TestFilters::test_old_style_properties": 0.2284083089998603, "clickhouse/models/test/test_filters.py::TestFilters::test_recursive_cohort": 0.012707051000006686, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_cohorts": 0.4420695439998781, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities": 0.008221897000112222, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_entities_with_group_math": 0.00597537099974943, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_funnel_entities_when_aggregating_by_group": 0.0047904560001370555, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_hasdone_cohort": 0.00756629000011344, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_multi_group_cohort": 0.007232887000100163, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_no_such_cohort": 0.005863469999894733, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_static_cohort": 0.007087383999987651, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_test_accounts": 0.006433877999825199, "clickhouse/models/test/test_filters.py::TestFilters::test_simplify_when_aggregating_by_group": 0.004580554000085613, "clickhouse/models/test/test_filters.py::TestFilters::test_to_dict": 0.006405177000033291, "clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters": 0.27473465899993244, "clickhouse/models/test/test_filters.py::TestFiltering::test_boolean_filters_persons": 0.3048028149999027, "clickhouse/models/test/test_filters.py::TestFiltering::test_contains": 0.26397233100010453, "clickhouse/models/test/test_filters.py::TestFiltering::test_contains_persons": 0.3044517120004002, "clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain": 0.2898376369998914, "clickhouse/models/test/test_filters.py::TestFiltering::test_does_not_contain_persons": 0.376624166000056, "clickhouse/models/test/test_filters.py::TestFiltering::test_element_filter": 0.2844423739998092, "clickhouse/models/test/test_filters.py::TestFiltering::test_element_selectors": 0.2531651020001391, "clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members": 0.36418391899997005, "clickhouse/models/test/test_filters.py::TestFiltering::test_filter_out_team_members_persons": 0.3151888370000506, "clickhouse/models/test/test_filters.py::TestFiltering::test_incomplete_data": 0.2091799820000233, "clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex": 0.27116781600011564, "clickhouse/models/test/test_filters.py::TestFiltering::test_invalid_regex_persons": 0.3187159810001958, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not": 0.288168818000031, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_persons": 0.30139687400014736, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set": 0.27984402000015507, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_set_and_is_set_persons": 0.3057095260001006, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false": 0.27038610800013885, "clickhouse/models/test/test_filters.py::TestFiltering::test_is_not_true_false_persons": 0.2919430629999624, "clickhouse/models/test/test_filters.py::TestFiltering::test_json_object": 0.3149137350001183, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple": 0.2803240239998104, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality": 0.30460111299976234, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_equality_persons": 0.4215305000002445, "clickhouse/models/test/test_filters.py::TestFiltering::test_multiple_persons": 0.3162789799998791, "clickhouse/models/test/test_filters.py::TestFiltering::test_numerical": 0.32342752399972596, "clickhouse/models/test/test_filters.py::TestFiltering::test_numerical_person_properties": 0.41265487500004383, "clickhouse/models/test/test_filters.py::TestFiltering::test_person_cohort_properties": 0.38604161300008855, "clickhouse/models/test/test_filters.py::TestFiltering::test_regex": 0.28057177800019417, "clickhouse/models/test/test_filters.py::TestFiltering::test_regex_persons": 0.335300031000088, "clickhouse/models/test/test_filters.py::TestFiltering::test_simple": 0.29235738399984257, "clickhouse/models/test/test_filters.py::TestFiltering::test_simple_persons": 0.35399515600011, "clickhouse/models/test/test_filters.py::TestFiltering::test_true_false": 0.27782483100008903, "clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties": 0.46952276399974835, "clickhouse/models/test/test_filters.py::TestFiltering::test_user_properties_numerical": 0.4053115249998882, "clickhouse/models/test/test_filters.py::PGTestFilters::test_old_style_properties": 0.2377099709999584, "clickhouse/models/test/test_filters.py::PGTestFilters::test_simplify_test_accounts": 0.00769589000015003, "clickhouse/models/test/test_filters.py::PGTestFilters::test_to_dict": 0.0074164850000215665, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_limit_works": 0.2611102429998482, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_search_works": 0.033543089999739095, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_log_type_filter_works": 0.04158598499998334, "clickhouse/models/test/test_plugin_log_entry.py::TestEvent::test_simple_log_is_fetched": 0.030906861000175923, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups": 0.39470870000013747, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups_invalid_type": 0.22066217000019606, "clickhouse/models/test/test_property.py::TestPropFormat::test_parse_groups_persons": 0.6529506100000617, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_decimals": 0.38424777800014454, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element": 0.4768091559997174, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_element_with_space": 0.2467280739999751, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_event": 0.3307820540001103, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_ints_saved_as_strings": 0.41509643799986407, "clickhouse/models/test/test_property.py::TestPropFormat::test_prop_person": 0.372027435000291, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_get_property_string_expr": 0.558604196000033, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized": 0.8733003930003633, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_event_denormalized_ints": 0.3213774989999365, "clickhouse/models/test/test_property.py::TestPropDenormalized::test_prop_person_denormalized": 0.44944057299971973, "clickhouse/models/test/test_property.py::test_parse_prop_clauses_defaults": 0.011038910999786822, "clickhouse/models/test/test_property.py::test_parse_groups_persons_edge_case_with_single_filter": 0.0219223190001685, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[$browser-events-prop-trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser')) AS prop]": 0.018359583999654205, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[breakdown1-events-value-array(trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser'))) AS value]": 0.018461683000168705, "clickhouse/models/test/test_property.py::test_breakdown_query_expression[breakdown2-events-prop-array(trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser')),trim(BOTH '\"' FROM JSONExtractRaw(properties, '$browser_version'))) AS prop]": 0.033035830000017086, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property0-expected_event_indexes0]": 0.6079174520000379, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property1-expected_event_indexes1]": 0.6169437419998758, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property2-expected_event_indexes2]": 0.6309393799997451, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching a number only matches event index 4 from test_events]": 0.6085936580002453, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching on email is not a value matches all but the first event from test_events]": 0.6035813080000025, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching on email is not a value matches all but the first two events from test_events]": 0.6022713939998994, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property6-expected_event_indexes6]": 0.634538116000158, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property7-expected_event_indexes7]": 0.6228927910001403, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property8-expected_event_indexes8]": 0.6266716119998819, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching for email property not being set matches all but the first two events from test_events]": 0.6364778209999713, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching before a unix timestamp only querying by date]": 0.6187848100000792, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching after a unix timestamp only querying by date]": 0.6239442730000064, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching before a unix timestamp querying by date and time]": 0.6478049569998348, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching after a unix timestamp querying by date and time]": 0.634974005000231, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property14-expected_event_indexes14]": 0.6089837939998688, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[match after date only value against date and time formatted property]": 0.6479464600001847, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property16-expected_event_indexes16]": 0.6338227900002948, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property17-expected_event_indexes17]": 0.6584334850001596, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property18-expected_event_indexes18]": 0.6399794660001135, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property19-expected_event_indexes19]": 0.6415282810000917, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property20-expected_event_indexes20]": 0.6605258090000916, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[property21-expected_event_indexes21]": 0.6297912429999997, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching a unix timestamp in seconds with fractional seconds after the decimal point]": 0.6040659119998963, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching unix timestamp in milliseconds after a given date (which ClickHouse doesn't support)]": 0.6100420219997886, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching unix timestamp in milliseconds before a given date (which ClickHouse doesn't support)]": 0.6248679820000689, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date with timeszone offset before a given date]": 0.614944443000013, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date takes into account timeszone offset after a given date]": 0.6109687260000101, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching rfc 822 format date after a given date]": 0.6219304710000415, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching ISO 8601 format date before a given date]": 0.61399289100018, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching ISO 8601 format date after a given date]": 0.6115532620001431, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts n increasing order before a given date]": 0.6090735329999006, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts in increasing order after a given date]": 0.6043441799999982, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts separated by slashes before a given date]": 0.6590524119999372, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts separated by slashes after a given date]": 0.6034888700003194, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts increasing in size and separated by slashes before a given date]": 0.6161884159998863, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[matching full format date with date parts increasing in size and separated by slashes after a given date]": 0.5963952780000454, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match dates exactly]": 0.6595950709995577, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match dates exactly against datetimes and unix timestamps]": 0.6245846419999452, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match date times exactly against datetimes with milliseconds]": 0.6236234319999312, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match date only filter after against datetime with milliseconds]": 0.6123217929998646, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match after date only values]": 0.6241406379999717, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract[can match before date only values]": 0.6243780400000105, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property0-expected_event_indexes0]": 1.1464682299999822, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property1-expected_event_indexes1]": 0.6845689780000157, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property2-expected_event_indexes2]": 0.6881973219999509, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching a number only matches event index 4 from test_events]": 0.6706528070001241, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching on email is not a value matches all but the first event from test_events]": 0.67468018999989, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching on email is not a value matches all but the first two events from test_events]": 0.681788294999933, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property6-expected_event_indexes6]": 0.7114959349996752, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property7-expected_event_indexes7]": 0.6559901010002704, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property8-expected_event_indexes8]": 0.6601816489999237, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching for email property not being set matches all but the first two events from test_events]": 0.650861242000019, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching before a unix timestamp only querying by date]": 0.953866405999861, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching after a unix timestamp only querying by date]": 0.673482500000091, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching before a unix timestamp querying by date and time]": 0.6583991289999176, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching after a unix timestamp querying by date and time]": 0.6956765529998847, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property14-expected_event_indexes14]": 0.9202850209999269, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[match after date only value against date and time formatted property]": 0.6765595920001033, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property16-expected_event_indexes16]": 0.682421387000204, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property17-expected_event_indexes17]": 0.6825384879996363, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property18-expected_event_indexes18]": 0.9289840090000325, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property19-expected_event_indexes19]": 0.6717013590000533, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property20-expected_event_indexes20]": 0.6676615110000057, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[property21-expected_event_indexes21]": 0.666431096999986, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching a unix timestamp in seconds with fractional seconds after the decimal point]": 0.922171728000194, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching unix timestamp in milliseconds after a given date (which ClickHouse doesn't support)]": 0.9374720090002029, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching unix timestamp in milliseconds before a given date (which ClickHouse doesn't support)]": 0.6901432790002673, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date with timeszone offset before a given date]": 0.9332216579998658, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date takes into account timeszone offset after a given date]": 0.7222106659999099, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching rfc 822 format date after a given date]": 0.6790922369998498, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching ISO 8601 format date before a given date]": 0.9468420860000606, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching ISO 8601 format date after a given date]": 0.686128017000101, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts n increasing order before a given date]": 0.9375744810001834, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts in increasing order after a given date]": 0.7494236400000318, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts separated by slashes before a given date]": 0.9613799530000051, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts separated by slashes after a given date]": 0.6890976509998836, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts increasing in size and separated by slashes before a given date]": 0.9825866950000091, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[matching full format date with date parts increasing in size and separated by slashes after a given date]": 0.7222404290000668, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match dates exactly]": 0.9492255809998369, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match dates exactly against datetimes and unix timestamps]": 0.9698335149998911, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match date times exactly against datetimes with milliseconds]": 1.018083261999891, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match date only filter after against datetime with milliseconds]": 0.7090631539999777, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match after date only values]": 0.7670715120000295, "clickhouse/models/test/test_property.py::test_prop_filter_json_extract_materialized[can match before date only values]": 0.7214689940001335, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_cohorts": 3.725890371999867, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_events": 3.047647718000235, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_groups": 3.0242900459998054, "clickhouse/models/test/test_team.py::TestDeleteEvents::test_delete_persons": 3.060555454999985, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7822757929998261, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.4305942460000551, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.687951208999948, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 1.6083053880001899, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_breakdown_group": 5.5452675590001945, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown": 3.9979042740001205, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_cohort_breakdown_materialized": 5.507798778999813, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event": 2.0199801610001487, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_materialized": 3.374047238000003, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type": 2.005498108999973, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 3.272468886000297, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.5397863310001867, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.2960788390000744, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.11584652800002, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other": 2.1195055689997844, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.3391058800000337, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 2.0670073260000663, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 3.2149403460000485, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit": 2.9630569439998453, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_limit_materialized": 4.756527496999979, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person": 2.7164273569999295, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_breakdown_person_materialized": 3.8988054079998165, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.5111044989996572, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 3.2056975379998676, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.933803905000104, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.4455181629998606, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_multi_property_breakdown_event": 2.836137966999786, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 4.727276307000238, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_step_conversion_times": 0.6599493610001446, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_times_with_different_conversion_windows": 1.5845424330000242, "clickhouse/queries/funnels/test/test_funnel.py::TestFunnelConversionTime::test_funnel_with_multiple_incomplete_tries": 0.8317731799998, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_exclusions_between_steps": 5.9301728099997035, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_multiple_exclusions_between_steps": 5.190497372999971, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps": 3.575092067999776, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_advanced_funnel_with_repeat_steps_out_of_order_events": 3.661283586000309, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_default_funnel_days": 0.4623547660000895, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps": 0.9353196410002056, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_derivative_steps_materialized": 1.5653550729998642, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_step_updated_param": 1.1833059870000397, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_basic_funnel_with_repeat_steps": 0.8670526570003858, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_breakdown_values_is_set_on_the_query_with_fewer_than_two_entities": 0.4343659869998646, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_conversion_window": 2.237267688999964, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_default": 0.4969645080002465, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_events": 0.8837360699999408, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusion_no_end_event": 1.079551181999932, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_full_window": 1.026446567999983, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_invalid_params": 0.23215898500006915, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions": 1.144367431000319, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_exclusions_with_actions_materialized": 1.8673620879999362, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties": 0.8271193620003032, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_by_action_with_person_properties_materialized": 1.0735064119996878, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts": 0.5804153130000032, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_filter_test_accounts_materialized": 0.7500228820001666, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions": 0.6200668779999887, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_multiple_actions_materialized": 1.093523360000063, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_no_events": 0.2254575089998525, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop": 0.7718295340000623, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_person_prop_materialized": 0.9973361449997356, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters": 0.744536620999952, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_materialized": 1.2912510480000492, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity": 0.8439071689999764, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_prop_filters_per_entity_materialized": 1.4319459939997614, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_skipped_step": 0.6106779130000177, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions": 1.0563525309999022, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events": 0.002528428999994503, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_and_events_materialized": 0.5409396130000914, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_actions_materialized": 1.7551921570002378, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_cohorts_step_filter": 1.3161867170001642, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_denormalised_properties": 0.7510695259998101, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_elements_chain": 1.3938436150003781, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters": 0.5852809369996521, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_entity_person_property_filters_materialized": 0.8397840669997549, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties": 4.106245068000135, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_matching_properties_materialized": 6.036297158999787, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_precalculated_cohort_step_filter": 1.502701049000052, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_single_step": 0.4561229360001562, "clickhouse/queries/funnels/test/test_funnel.py::TestClickhouseFunnel::test_funnel_with_static_cohort_step_filter": 0.9764667089998511, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_action_events_are_excluded_from_correlations": 1.6163770519997342, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_events": 4.600307396999597, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties": 5.546551295999734, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_basic_funnel_correlation_with_properties_materialized": 6.885209079000106, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties": 3.547724621000043, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_multiple_properties_materialized": 5.119495246000042, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_correlation_with_properties_raises_validation_error": 0.29834234200006904, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_discarding_insignificant_events": 1.8388061219998235, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_events_within_conversion_window_for_correlation": 0.7433576779999385, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties": 3.220979678000049, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_and_groups": 3.421383526000227, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_and_groups_materialized": 5.1097203729998455, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture": 2.6696261290001075, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_autocapture_materialized": 4.361194937000164, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_exclusions": 1.6586491949997253, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_event_properties_materialized": 5.348084824999887, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_events_and_groups": 7.864483298999858, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_properties_and_groups": 6.620825958000296, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_funnel_correlation_with_properties_and_groups_materialized": 8.214822424999966, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestClickhouseFunnelCorrelation::test_no_divide_by_zero_errors": 0.8341786480000337, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_basic_funnel_correlation_with_events": 3.838996248000285, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_create_funnel_correlation_cohort": 2.3665549949998876, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_funnel_correlation_on_event_with_recordings": 3.5324025419997724, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_funnel_correlation_on_properties_with_recordings": 1.4507248160000472, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_people_arent_returned_multiple_times": 0.6297126120000485, "clickhouse/queries/funnels/test/test_funnel_correlation_persons.py::TestClickhouseFunnelCorrelationActors::test_strict_funnel_correlation_with_recordings": 2.559967122999751, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_basic_offset": 9.108401072999868, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step": 2.4926462749997427, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person": 2.914188961000036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdown_person_materialized": 4.276264803000004, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns": 1.4289740989997881, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_materialized": 2.3658417350000036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_first_step_breakdowns_with_multi_property_breakdown": 1.533098984000162, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons": 0.7060965979997036, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_cohort_breakdown_persons_materialized": 1.219194183999889, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_funnel_person_recordings": 4.5400050700000065, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step": 2.2818017430001873, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_last_step_dropoff": 2.4398935609999626, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_second_step_dropoff": 2.4470345830002316, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_are_equivalent_to_funnel_step": 5.46171497499995, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_overrides_funnel_step": 2.3755130880001616, "clickhouse/queries/funnels/test/test_funnel_persons.py::TestFunnelPersons::test_steps_with_custom_steps_parameter_where_funnel_step_equivalence_isnt_possible": 3.627552442000251, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7495378410001194, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.3626300290002291, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.7160528720000912, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 1.5931643850001365, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_breakdown_group": 4.54438227300011, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown": 4.349313850000044, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_cohort_breakdown_materialized": 5.126916831999779, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event": 1.7950467050000043, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_materialized": 2.822080638999978, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type": 1.8133615169999757, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 2.879918100000168, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 1.512550580000152, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.4361708080000426, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.304778130999921, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other": 1.8328721320001478, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 3.004101483999875, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 1.763694328999918, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 2.979596810999965, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit": 2.8132434560002366, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 4.645683301999952, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person": 2.3058552509999117, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_breakdown_person_materialized": 3.4646833909998804, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 1.379202059000363, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 2.7685065130001476, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 4.684304588000032, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 2.3344074489998548, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_multi_property_breakdown_event": 2.4793493049999142, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 4.207911139999851, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsBreakdown::test_strict_breakdown_events_with_multiple_properties": 1.5766085950001525, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_step_conversion_times": 0.6149737180003285, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_times_with_different_conversion_windows": 1.4428837680002289, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 0.7225563459999194, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_advanced_strict_funnel": 2.6134847269997863, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel": 1.6607829540000694, "clickhouse/queries/funnels/test/test_funnel_strict.py::TestFunnelStrictSteps::test_basic_strict_funnel_conversion_times": 1.2292291329997624, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_first_step": 2.296423017000052, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step": 2.1474556160001157, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_second_step_dropoff": 2.1625305879999814, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_strict_funnel_person_recordings": 3.5188653759998942, "clickhouse/queries/funnels/test/test_funnel_strict_persons.py::TestFunnelStrictStepsPersons::test_third_step": 2.0835885869998947, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step": 2.5772637250001935, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_single_step_duplicate_events": 0.002426427000273179, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_auto_bin_count_total": 4.31286035800008, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_strict": 2.3168602619998637, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_basic_unordered": 5.60864835700022, "clickhouse/queries/funnels/test/test_funnel_time_to_convert.py::TestFunnelTrends::test_custom_bin_count_single_step": 1.9253001889999268, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_date_range": 1.0679053960000147, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_all_results_for_day_interval": 0.8982599549999577, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_day_interval": 0.8069012949999887, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_from_second_step": 0.7320546420000937, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_event": 0.7298650160000761, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_step_breakdown_person": 0.9575054110000565, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_funnel_trend_cohort_breakdown": 0.9841029130002426, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_hour_interval": 0.5078924869999355, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_month_interval": 0.8344737100001112, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_no_event_in_period": 0.5546642199999496, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows": 1.1495319990001462, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_strict_funnel": 0.5916420429998652, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_one_person_in_multiple_periods_and_windows_in_unordered_funnel": 2.1021423269999104, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_only_one_user_reached_one_step": 1.298592218000067, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_period_not_final": 0.5681713399999353, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_steps_performed_in_period_but_in_reverse": 0.5510568449999482, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_to_second_step": 0.6902017239999623, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_two_runs_by_single_user_in_one_period": 0.5667538240002159, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_week_interval": 0.8349170629999207, "clickhouse/queries/funnels/test/test_funnel_trends.py::TestFunnelTrends::test_window_size_one_day": 0.901621619000025, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action": 0.7634423929998775, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_action_materialized": 1.3647311220001939, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_basic_funnel_default_funnel_days_breakdown_event": 0.6912151000001359, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_aggregate_by_groups_breakdown_group": 3.4105473849999726, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_breakdown_group": 14.462301069999967, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown": 7.627433540000311, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_cohort_breakdown_materialized": 10.432332738000241, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event": 4.080008904000124, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_materialized": 6.435513755999864, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type": 4.349213960000043, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_no_type_materialized": 6.414773887999672, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_events_with_multiple_properties": 2.543372255999884, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns": 1.509714688000031, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_single_person_multiple_breakdowns_materialized": 2.318202071000087, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other": 4.332144545999881, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_other_materialized": 6.480769372000168, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown": 4.08813578399986, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_event_with_string_only_breakdown_materialized": 6.616847513000039, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit": 3.3800425200001882, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_limit_materialized": 5.39041776199997, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person": 6.131225319999885, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_breakdown_person_materialized": 8.627335468000183, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls": 2.300822634000042, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included": 6.440125032999958, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_included_materialized": 9.456629758999952, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_custom_breakdown_limit_with_nulls_materialized": 3.6358321180002804, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_multi_property_breakdown_event": 6.256030123999835, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsBreakdown::test_funnel_step_multi_property_breakdown_event_materialized": 9.48903565899991, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_step_conversion_times": 0.9614129660001254, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_times_with_different_conversion_windows": 2.551640565000298, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedStepsConversionTime::test_funnel_with_multiple_incomplete_tries": 1.3951392479998503, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_advanced_funnel_multiple_exclusions_between_steps": 9.112437646999979, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel": 4.173162166999873, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_basic_unordered_funnel_conversion_times": 2.6952539869998873, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_big_multi_step_unordered_funnel": 5.000847975999704, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_full_window": 1.5395832749998135, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_funnel_exclusions_invalid_params": 0.23409100200001376, "clickhouse/queries/funnels/test/test_funnel_unordered.py::TestFunnelUnorderedSteps::test_single_event_unordered_funnel": 0.5164445130001241, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_first_step": 2.764960432999942, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_invalid_steps": 0.34054918400011047, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step": 2.449346109000089, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_last_step_dropoff": 2.4558980499998597, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_second_step_dropoff": 2.5277033079999, "clickhouse/queries/funnels/test/test_funnel_unordered_persons.py::TestFunnelUnorderedStepsPersons::test_unordered_funnel_does_not_return_recordings": 3.426326071999938, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_filter_missing_order": 0.2188882050002121, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_ordered": 0.004179027999953178, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_strict": 0.005254933999822242, "clickhouse/queries/funnels/test/test_utils.py::TestGetFunnelOrderClass::test_unordered": 0.005853037000179029, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots": 8.100585236000143, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_chunked_snapshots_with_specific_limit_and_offset": 4.386596007999742, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata": 3.2898731759996735, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_does_not_leak_teams": 0.3159621249999418, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_metadata_for_non_existant_session_id": 0.25849885699994957, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots": 0.29906351599993286, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_does_not_leak_teams": 0.29122916599976634, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording.py::TestClickhouseSessionRecording::test_get_snapshots_with_no_such_session": 0.22190202200022213, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter": 0.883022057999824, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_action_filter_materialized": 1.8651401509998777, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_filters_at_once": 0.5978954299998804, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys": 0.4102441289999206, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_all_sessions_recording_object_keys_with_entity_filter": 0.47025691299973005, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query": 0.4093991229999574, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_basic_query_materialized": 0.8523190619998786, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_from_filter": 0.4867546189998393, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_date_to_filter": 0.5144772959999955, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_duration_filter": 0.5255066670001725, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter": 0.6503184659998169, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_matching_with_no_session_id": 1.1075125950001166, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_matching_with_no_session_id_materialized": 1.1731051129997923, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_cohort_properties": 1.3852593729998262, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_cohort_properties_materialized": 1.523237257000119, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_matching_on_session_id": 1.1149445409998862, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_matching_on_session_id_materialized": 1.2101223509998817, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_person_properties": 0.7940943860000971, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_person_properties_materialized": 0.9941151639998225, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties": 0.6748329199999716, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_event_filter_with_properties_materialized": 1.6434011219998865, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_multiple_event_filters": 0.6327269520002119, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_pagination": 0.6969983629999206, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_person_id_filter": 0.4529786000000513, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_that_spans_time_bounds": 0.3868296759999339, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recording_without_fullsnapshot_dont_appear": 0.3984844509998311, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_recordings_dont_leak_data_between_teams": 0.4271707359996526, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::TestClickhouseSessionRecordingsList::test_teams_dont_leak_event_filter": 0.4586310360002699, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_group_props": 0.7437108610001815, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props": 0.5387107490003018, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_materialized": 1.4488532880000093, "clickhouse/queries/test/test_breakdown_props.py::TestBreakdownProps::test_breakdown_person_props_with_entity_filter": 0.8219678710001972, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_group_types_to_query": 0.24315415899991422, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_materialized_columns_checks": 0.5975584319999143, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter": 0.2454650730001049, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_properties_used_in_filter_with_actions": 0.23375229800035413, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column": 0.23788502500019604, "clickhouse/queries/test/test_column_optimizer.py::TestColumnOptimizer::test_should_query_element_chain_column_with_actions": 0.24747188600008485, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_account_filters": 1.074630889999753, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_action_with_person_property_filter": 0.5016966169998796, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_basic_event_filter": 0.3339851410000847, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_cohort_filter": 0.5515465369996946, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_denormalised_props": 0.56255590700016, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_element": 0.5044206340000983, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_entity_filtered_by_cohort": 0.7179379000001518, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_event_properties_filter": 0.46707668399972135, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_groups_filters": 0.7906452509998871, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_groups_filters_mixed": 0.8496953309997934, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_person_properties_filter": 0.48780971699989095, "clickhouse/queries/test/test_event_query.py::TestEventQuery::test_static_cohort_filter": 0.4750795359998392, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_filter_test_accounts": 1.1058018660000926, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_days": 1.1543453759998101, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_months": 1.8981988289999663, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_interval_dates_weeks": 1.4133225490002133, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_edge_cases": 1.127395229000058, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend": 0.8701538789998722, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_action": 0.9258625370000573, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_all_time": 0.936211503000095, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_months": 0.9079583220000131, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people": 1.173527224000054, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_people_paginated": 7.949091882000175, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_prop_filtering": 0.7907189719999224, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trend_weeks": 0.9017556829999194, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_lifecycle_trends_distinct_id_repeat": 0.6327626570000575, "clickhouse/queries/test/test_lifecycle.py::TestClickhouseLifecycle::test_test_account_filters_with_groups": 1.48633083000027, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_current_url_paths_and_logic": 3.3881451219997416, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_custom_event_paths": 0.7395652419997987, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties": 3.294957727999872, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_denormalized_properties_materialized": 5.367241918000218, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_exclusion_filters_with_wildcards": 1.0880908659999022, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters": 2.522247999999763, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_event_inclusion_exclusion_filters_across_single_person": 1.6449643999999353, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff": 7.4565931380000166, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_dropoff_with_group_filter": 16.79978533999997, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step": 3.040937324000197, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_limit": 8.707202808000147, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_after_step_respects_conversion_window": 6.788085211999942, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_dropoff": 3.039069284000334, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_before_step": 3.0428915160000543, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_funnel_between_step": 8.489838148000217, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping": 2.2948687670000254, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement": 1.0123477069998899, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_by_grouping_replacement_multiple": 1.3208543910000117, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_event_ordering": 2.798366987999998, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_across_people": 0.6912756439999157, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_grouping_with_evil_input": 0.6231273050000254, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_groups_filtering": 3.6725187910001296, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_min_edge_weight": 3.1614029789998312, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording": 0.8922667089998413, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_for_dropoff": 3.256045671000038, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_with_no_window_or_session_id": 1.79887409700018, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_recording_with_start_and_end": 3.5140249469998253, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_removes_duplicates": 0.6666982730000655, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_path_respect_session_limits": 0.6278188260000661, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end": 0.7218085800000154, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_end_materialized": 1.7910657639999954, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_in_window": 0.6285672640001394, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_person_dropoffs": 5.015035291999766, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_properties_filter": 0.7640942919999816, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start": 1.5359508349997668, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end": 2.95206028600046, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_and_end_materialized": 4.6532668120000835, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_paths_start_dropping_orphaned_edges": 0.9941630549999445, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_properties_queried_using_path_filter": 0.3207866830000512, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_screen_paths": 0.7595411319996401, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_conversion_times": 0.6413550639999812, "clickhouse/queries/test/test_paths.py::TestClickhousePaths::test_step_limit": 3.2503886500001045, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest": 0.011457969999810302, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_and_cross_edges": 0.005490134000183389, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_basic_forest_with_dangling_edges": 0.004861230999722466, "clickhouse/queries/test/test_paths.py::TestClickhousePathsEdgeValidation::test_no_start_point": 0.006591542000251138, "clickhouse/queries/test/test_person_distinct_id_query.py::test_person_distinct_id_query": 0.014788990999932139, "clickhouse/queries/test/test_person_query.py::test_person_query": 0.45500310099987473, "clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_requested_fields": 0.4221900990000904, "clickhouse/queries/test/test_person_query.py::test_person_query_with_entity_filters": 0.41167083399977855, "clickhouse/queries/test/test_person_query.py::test_person_query_with_extra_fields": 0.3937601220000033, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_day_interval": 0.6646724899997025, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_filter_test_accounts": 0.7632908980001503, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_first_time_retention": 0.9653550419998282, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_aggregating": 2.042867272999956, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_filtering": 2.2413548679999167, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_groups_in_period": 1.1467386009996972, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_hour_interval": 0.6959896920000119, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_interval_rounding": 0.693231373999879, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_month_interval": 0.7234894700000041, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_action_start_point": 0.7137843070001963, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_default": 0.6554696299999705, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_event_action": 0.6607448639999802, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_invalid_properties": 0.24224496500005444, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_multiple_events": 0.7805070379999961, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_basic": 0.6939605789998495, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_first_time": 1.2412672119999115, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_perieod_first_time": 1.008047906000229, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_in_period": 0.7215799569999035, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_people_paginated": 14.853945221999993, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_properties": 0.7289960739999515, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_retention_with_user_properties": 0.7912504559999434, "clickhouse/queries/test/test_retention.py::TestClickhouseRetention::test_week_interval": 0.7061474360000375, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_filtering": 0.7046399240000483, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop": 0.5277108380000755, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_action_with_prop_materialized": 1.096348828000373, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math": 0.546558055000105, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_active_user_math_action": 0.5769726329997411, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming": 0.6698282149998249, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_against_clashing_entity_and_property_filter_naming_materialized": 1.368367717000183, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_all_time_timerange": 0.6478839739997966, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering": 0.7984168450002471, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_materialized": 1.5399874229999568, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency": 0.7952805250001802, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_avg_filtering_non_number_resiliency_materialized": 1.6412210749999758, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_bar_chart_by_value": 0.623295115999781, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math": 0.6061812049999844, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_active_user_math_materialized": 1.225129749999951, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort": 1.244574845000443, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_cohort_materialized": 1.7165280110000367, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_empty_cohort": 0.44373827500021434, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_group_props": 1.1524356259997148, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_group_props_with_person_filter": 1.1491034040000159, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property": 1.1675308280000536, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie": 0.6823815790000936, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_person_property_pie_materialized": 0.9768878610000229, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_by_property_pie": 0.8225497539997377, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filter_by_precalculated_cohort": 1.0064445559999058, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering": 0.9175262660000953, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value": 0.6286065680001229, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_bar_chart_by_value_materialized": 1.216997366999749, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit": 1.082741499000349, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_limit_materialized": 1.8370366620001732, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_materialized": 1.6425213249999615, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons": 0.6509509479999451, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_materialized": 0.9206755560001056, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props": 0.7299601499996697, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_persons_with_action_props_materialized": 1.4902757960003328, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties": 0.6779576119997728, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_in_new_format": 1.2840342050001254, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_filtering_with_properties_materialized": 2.140008432000286, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_label": 0.23358455700008562, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts": 1.3039251660002265, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_multiple_cohorts_materialized": 1.838172984999801, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort": 0.9041514330001519, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_single_cohort_materialized": 1.2822540989998288, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter": 0.7093174209999233, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_user_props_with_filter_materialized": 1.4340936560001865, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter": 0.5447207739998703, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_groups": 0.881371518999913, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_filter_materialized": 1.1038812140000118, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter": 1.1409580429997277, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_breakdown_with_person_property_filter_materialized": 2.18452530799982, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains": 0.7873676830001841, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_combine_all_cohort_and_icontains_materialized": 1.4613115239997114, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_custom_range_timerange": 0.6252466060000188, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_filtering": 0.8750444849999894, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering": 1.0275893790001192, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_materialized": 1.7095566189998408, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter": 1.0363791869997385, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_dau_with_breakdown_filtering_with_prop_filter_materialized": 2.293533518000004, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_day_interval": 0.5372074260003501, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering": 0.708318808000513, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_entity_person_property_filtering_materialized": 0.9376633669999137, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_by_precalculated_cohort": 0.8165361639998991, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort": 0.509648006000134, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_events_by_cohort_materialized": 0.7256666099997346, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts": 0.8450639929997124, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts": 0.5007618029999321, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_cohorts_materialized": 0.6885697419997996, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filter_test_accounts_materialized": 1.682076362000771, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props": 0.3993766499997946, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_action_props_materialized": 1.4885540589998527, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_filtering_with_group_props": 0.8323315830002684, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_hour_interval": 0.47221817999979976, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering": 1.2096229829999174, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown": 1.5633576120008001, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_filtering_breakdown_materialized": 2.004998981999506, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding": 0.5565811219998977, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_interval_rounding_monthly": 0.4570427909998216, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last14days_timerange": 0.6957263019999118, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last24hours_timerange": 0.5773279580007511, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last30days_timerange": 0.671400227000504, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last48hours_timerange": 0.563124395000159, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last7days_timerange": 0.5733055109999441, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_last90days_timerange": 0.8081714809991354, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering": 0.8303997339994567, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_max_filtering_materialized": 1.5396787710001263, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering": 2.167772586999945, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_median_filtering_materialized": 3.6218609810002818, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering": 0.8022209000000657, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_min_filtering_materialized": 1.5255202879993703, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_month_interval": 0.4944628030007152, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_no_props": 0.37846128799992584, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering": 2.0922726060002788, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p90_filtering_materialized": 3.68327783299992, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering": 2.095263717999842, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p95_filtering_materialized": 3.5037541609999607, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering": 2.082477471999937, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_p99_filtering_materialized": 3.5499886600000536, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering": 0.7360381259995847, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_per_entity_filtering_materialized": 1.4257766279997668, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering": 0.6686522629997853, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_person_property_filtering_materialized": 0.9348132760005683, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_previous_month_timerange": 0.6710353899998154, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering": 0.6369250029997602, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_property_filtering_materialized": 1.270641360999889, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_response_empty_if_no_events": 0.5093135560000519, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_should_throw_exception": 0.519960675999755, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering": 0.8352491399991777, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_sum_filtering_materialized": 1.5079321429998345, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_this_month_timerange": 0.6460136019995844, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_today_timerange": 0.5175185489997602, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate": 0.5673361120002482, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts": 0.7511300900000606, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_cohorts_materialized": 0.9816843950002294, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_single_aggregate_math": 0.7286230330000762, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func": 1.7888063139994301, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_breakdown_with_math_func_materialized": 3.4919757630000277, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_compare": 0.8258102309996502, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_for_non_existing_action": 0.3714096969997627, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_math_without_math_property": 0.21842486899959113, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day": 0.6987832960003288, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_48hours": 0.6582537359995513, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_per_day_cumulative": 0.5893926579997242, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties": 0.8432286250003926, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_regression_filtering_by_action_with_person_properties_materialized": 1.2663524069998857, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_dau": 0.6936826360006307, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math": 0.6170514700002059, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_trends_single_aggregate_math_materialized": 1.2664123059998929, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_week_interval": 0.6634324940000624, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_year_to_date_timerange": 0.6772948520001592, "clickhouse/queries/test/test_trends.py::TestClickhouseTrends::test_yesterday_timerange": 0.5290308759995241, "clickhouse/queries/test/test_util.py::test_get_earliest_timestamp": 0.3531473869998081, "clickhouse/queries/test/test_util.py::test_get_earliest_timestamp_with_no_events": 0.25394326900050146, "clickhouse/queries/test/test_util.py::test_parse_breakdown_cohort_query": 0.28484161800042784, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown": 0.90428451400021, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_cohort": 0.9874005520000537, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_counts_of_different_events_one_without_events": 0.7694312909998189, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_breakdown_mismatching_sizes": 0.9089147670001694, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_compare": 0.8966546269998616, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_cumulative": 0.7133831579999423, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_day_interval": 0.6950103509998371, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_event_properties": 0.716653094999856, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_formula": 2.047238822000054, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_global_properties": 0.7351242009999623, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_hour_interval": 0.7155216799997106, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_interval_rounding": 0.47989501900019604, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_month_interval": 0.6844273279994013, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_multiple_events": 0.7808311170001616, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_pie": 0.6651766129998578, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_properties_with_escape_params": 0.7508227800003624, "clickhouse/queries/trends/test/test_formula.py::TestFormula::test_week_interval": 0.732694475000244, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_group_query_includes_recording_events": 0.5384214800001246, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_person_query_does_not_include_recording_events_if_flag_not_set": 0.5219140760004848, "clickhouse/queries/trends/test/test_person.py::TestPerson::test_person_query_includes_recording_events": 0.5095445249999102, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_calculate_usage": 0.4276355029996921, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_event_properties_or_related_updates_property_definitions": 18.886705246000474, "clickhouse/test/test_calculate_event_property_usage.py::CalculateEventPropertyUsage::test_updating_team_events_or_related_updates_event_definitions": 18.96476181700018, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_cache_eviction": 0.1144139829998494, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_caching_client": 0.008758400000260735, "clickhouse/test/test_client.py::ClickhouseClientTestCase::test_client_strips_comments_from_request": 0.015356273000179499, "clickhouse/test/test_middleware.py::TestQueryMiddleware::test_query": 1.1683267019998311, "clickhouse/test/test_system_status.py::test_system_status": 0.11663930700024139, "clickhouse/views/test/test_clickhouse_experiment_secondary_results.py::ClickhouseTestExperimentSecondaryResults::test_basic_secondary_metric_results": 2.3230102390002685, "clickhouse/views/test/test_clickhouse_experiment_secondary_results.py::ClickhouseTestExperimentSecondaryResults::test_secondary_metric_results_for_multiple_variants": 1.734905845999947, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_can_list_experiments": 0.27526728499969977, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_cannot_list_experiments_without_proper_license": 0.028728121999392897, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_cant_reuse_existing_feature_flag": 0.047463832999710576, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_create_multivariate_experiment": 0.14148128499982704, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_invalid_multivariate_experiment_no_control": 0.034659888000078354, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_updating_basic_experiment": 0.07716886400021394, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_creating_updating_experiment_with_group_aggregation": 0.10900962099958633, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_deleting_experiment_soft_deletes_feature_flag": 0.2556160649996855, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_deleting_feature_flag_deletes_experiment": 0.07549634499991953, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_doesnt_have_FF_active": 0.05245168700002978, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_doesnt_have_FF_active_even_after_updates": 0.10859391699978005, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_draft_experiment_participants_update_updates_FF": 0.11081524199971682, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_getting_archived_experiments": 0.11277496400043674, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_invalid_create": 0.04871064600001773, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_invalid_update": 0.06834576599976572, "clickhouse/views/test/test_clickhouse_experiments.py::TestExperimentCRUD::test_launching_draft_experiment_activates_FF": 0.08072240600040459, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestFunnelExperimentResults::test_experiment_flow_with_event_results": 1.6418293030001223, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestFunnelExperimentResults::test_experiment_flow_with_event_results_for_three_test_variants": 2.2204734159995496, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results": 1.967549980000058, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results_for_three_test_variants": 1.763380889000473, "clickhouse/views/test/test_clickhouse_experiments.py::ClickhouseTestTrendExperimentResults::test_experiment_flow_with_event_results_for_two_test_variants_with_varying_exposures": 1.5084854270003234, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_empty_property_values": 0.3213216059998558, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_groups_list": 0.3098136769995108, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_property_definitions": 0.29085323899971627, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_property_values": 0.2954054760002691, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_related_groups": 0.8371019810001599, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_related_groups_person": 0.9394128149997414, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_retrieve_group": 0.324528397999984, "clickhouse/views/test/test_clickhouse_groups.py::ClickhouseTestGroupsApi::test_update_groups_metadata": 0.26823237400003563, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format": 1.0082933800003957, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_get": 1.9760261089995765, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_funnel_path_post": 1.9363886709998042, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_path_start_key_constraints": 0.9532877379997444, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_format_with_start_point_constraints": 1.101382413999545, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination": 2.400572041000487, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_basic_pagination_with_deleted": 10.387213124000027, "clickhouse/views/test/test_clickhouse_path_person.py::TestPathPerson::test_create_paths_cohort": 0.9728452740000648, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_path_types": 1.332943140000225, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_backwards_compatible_start_point": 1.4490154019995316, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_funnel_path_post": 2.0893301179994523, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic": 0.6426262409995616, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_insight_paths_basic_exclusions": 0.6892590589995962, "clickhouse/views/test/test_clickhouse_paths.py::TestClickhousePaths::test_path_groupings": 1.144658520000121, "clickhouse/views/test/test_clickhouse_retention.py::RetentionTests::test_retention_test_account_filters": 2.80657780599995, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_get_retention_cohort_breakdown": 1.2412932519996502, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_get_retention_cohort_breakdown_with_retention_type_target": 1.185107022000011, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property": 1.1811183760005406, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_and_retrieve_people": 0.8958119679996344, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_and_retrieve_people_materialized": 1.7925422469998011, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_event_property_materialized": 2.1258863269999893, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_person_property": 1.5877514960002372, "clickhouse/views/test/test_clickhouse_retention.py::BreakdownTests::test_can_specify_breakdown_person_property_materialized": 2.1877489099997547, "clickhouse/views/test/test_clickhouse_retention.py::IntervalTests::test_can_get_retention_week_interval": 1.199537519000387, "clickhouse/views/test/test_clickhouse_retention.py::RegressionTests::test_can_get_actors_and_use_percent_char_filter": 0.6791626849999375, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_default_limit_of_chunks": 0.6475478219999786, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_metadata_for_chunked_session_recording": 19.598255986999902, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_session_recordings": 0.4766140629999427, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_single_session_recording_metadata": 0.35214388900067206, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_get_snapshots_for_chunked_session_recording": 22.205296735999582, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_request_to_another_teams_endpoint_returns_401": 0.2614651330000015, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_doesnt_exist": 0.28716912200025035, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_for_user_with_multiple_distinct_ids": 0.43796151300011843, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recording_with_no_person": 0.2834169779998774, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_session_recordings_dont_leak_teams": 0.45294108100051744, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_setting_viewed_state_of_session_recording": 0.7899261609995847, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_single_session_recording_doesnt_leak_teams": 0.32720627200023955, "clickhouse/views/test/test_clickhouse_session_recordings.py::ClickhouseTestSessionRecordingsAPI::test_viewed_state_of_session_recording": 0.4179604890000519, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_aggregate_by_groups": 1.6487348940004267, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_compare": 0.7141587269998126, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_filter_by_group_properties": 1.6667034380002406, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_filter_test_accounts": 0.7670524239997576, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness": 0.7002249709998978, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_action": 0.6573319899998751, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_all_time": 0.6746182829997451, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_entity_filter": 0.6452071540006727, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_hours": 0.6560733739997886, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_months": 0.6639575650001461, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_endpoint": 0.6385922779995781, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_paginated": 9.333654103999834, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_people_with_entity_filter": 0.5848976590004895, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_prop_filter": 0.6334266020007817, "clickhouse/views/test/test_clickhouse_stickiness.py::TestClickhouseStickiness::test_stickiness_weeks": 0.6371774450003613, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_breakdown_with_filter": 1.1029224670000985, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_breakdown_with_filter_materialized": 1.8954865550003888, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_aggregate": 0.8149526380002499, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_basic": 0.9567830269998012, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_clean_arg": 0.9351838770003269, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_compare": 0.8264858539996567, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrends::test_insight_trends_cumulative": 2.981720184000551, "clickhouse/views/test/test_clickhouse_trends.py::ClickhouseTestTrendsGroups::test_aggregating_by_group": 0.9451326820008035, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_aggregation_with_groups": 1.436297280999952, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_group_aggregation_with_groups_entity_filtering": 1.4970255660000475, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_with_groups_entity_filtering": 1.2812429720006548, "clickhouse/views/test/funnel/test_clickhouse_funnel.py::ClickhouseTestFunnelGroups::test_funnel_with_groups_global_filtering": 1.623736411999289, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_request_with_no_steps_doesnt_fail": 0.29538281300028757, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_correlation_endpoint_with_properties": 1.9257532009996794, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_funnel_steps": 0.9482588349997059, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_does_not_include_historical_events": 0.833621951999703, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_endpoint_picks_up_events_for_odds_ratios": 0.8719883809999374, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_event_correlation_is_partitioned_by_team": 1.3196054000000004, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_events_correlation_endpoint_provides_people_drill_down_urls": 1.481358815999556, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_events_with_properties_correlation_endpoint_provides_people_drill_down_urls": 1.7850596209996183, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_funnel_correlation_with_event_properties_autocapture": 1.8398892359996353, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_properties_correlation_endpoint_provides_people_drill_down_urls": 2.1810598590000154, "clickhouse/views/test/funnel/test_clickhouse_funnel_correlation.py::FunnelCorrelationTest::test_requires_authn": 0.23988138899994738, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_format": 0.925652576000175, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination": 9.797648144999584, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_basic_pagination_with_deleted": 10.813566740999704, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdown_basic_pagination": 9.947067232000336, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelPerson::test_breakdowns": 1.1854758939998646, "clickhouse/views/test/funnel/test_clickhouse_funnel_person.py::TestFunnelCorrelationActors::test_pagination": 2.1129862930001764, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_basic_format": 1.1836482720004824, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_strict_order": 0.8608176520001507, "clickhouse/views/test/funnel/test_clickhouse_funnel_trends_person.py::TestFunnelTrendsPerson::test_unordered": 1.8821931039997253, "clickhouse/views/test/funnel/test_clickhouse_funnel_unordered.py::ClickhouseTestUnorderedFunnelGroups::test_unordered_funnel_with_groups": 2.270931663999818, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_interface": 0.008639997000500443, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce": 0.3887700590003078, "kafka_client/test/test_client.py::KafkaClientTestCase::test_kafka_produce_and_consume": 0.34380175500018595, "models/test/test_event_definition_model.py::TestEventDefinition::test_default_verified_false": 0.23576914399973248, "models/test/test_event_definition_model.py::TestEventDefinition::test_errors_on_invalid_verified_by_type": 0.007267781999871659, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_calculate_cohorts": 0.24113980399988577, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_funnels_cohort": 0.617903429999842, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_stickiness_cohort": 0.38702683999963483, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort": 0.530424948000018, "tasks/test/test_calculate_cohort.py::TestClickhouseCalculateCohort::test_create_trends_cohort_arg_test": 0.5648505340000156, "tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_error": 6.438404195999738, "tasks/test/test_send_license_usage.py::SendLicenseUsageTest::test_send_license_usage": 2.267681829000594, "tasks/test/test_send_license_usage.py::SendLicenseUsageNoLicenseTest::test_no_license": 0.3907684809996681, "tasks/test/test_status_report.py::TestStatusReport::test_instance_status_report_event_counts": 2.1916582759999983, "tasks/test/test_status_report.py::TestStatusReport::test_status_report": 0.14247239700034697, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_duplicate_distinct_ids": 0.26345755400006965, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_multiple_ids_per_person": 0.2914452680006434, "tasks/test/test_status_report.py::TestStatusReport::test_status_report_plugins": 0.14896207099991443, "clickhouse/models/test/test_property.py::test_combine_group_properties": 0.002199124000071606, "clickhouse/models/test/test_property.py::test_with_materialized_columns": 0.0018008200004260289, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_absolute_loss_less_than_one_percent_but_not_significant": 0.3467312879997735, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results": 0.3454197720002412, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants": 7.3001690630003395, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants_almost_equal": 9.130410286999904, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_three_test_variants_much_better_than_control": 14.885644429999957, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_two_test_variants": 0.7631933580000805, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_calculate_results_for_two_test_variants_almost_equal": 0.5713543069996376, "clickhouse/queries/experiments/test_experiment_result.py::TestFunnelExperimentCalculator::test_simulation_result_is_close_to_closed_form_solution": 0.14891976999933831, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_count_data_probability": 0.0025660299997980474, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results": 0.13598782600001869, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results_small_numbers": 0.11909343700017416, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_results_with_three_variants": 0.2792237309995471, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_calculate_significance_when_target_variants_underperform": 0.006684674000098312, "clickhouse/queries/experiments/test_experiment_result.py::TestTrendExperimentCalculator::test_results_with_different_exposures": 0.27084133800008203, "clickhouse/queries/funnels/test/test_funnel.py::test_with_materialized_columns": 0.0020041239999954996, "clickhouse/queries/funnels/test/test_funnel_correlation.py::TestCorrelationFunctions::test_are_results_insignificant": 0.002225425000233372, "clickhouse/queries/funnels/test/test_funnel_correlation.py::test_with_materialized_columns": 0.0018001209996327816, "clickhouse/queries/funnels/test/test_funnel_persons.py::test_with_materialized_columns": 0.0017705199998090393, "clickhouse/queries/session_recordings/test/test_clickhouse_session_recording_list.py::test_with_materialized_columns": 0.0017216200003531412, "clickhouse/queries/test/test_breakdown_props.py::test_with_materialized_columns": 0.0016819190000205708, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_blank": 0.0019311209994157252, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_filtering": 0.0032180359999074426, "clickhouse/queries/test/test_groups_join_query.py::test_groups_join_query_filtering_with_custom_key_names": 0.0026504300003580283, "clickhouse/queries/test/test_paths.py::test_with_materialized_columns": 0.0018291199999111996, "clickhouse/queries/test/test_trends.py::test_with_materialized_columns": 0.0016628190001028997, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS cohortpeople ON CLUSTER posthog\\n(\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64,\\n sign Int8\\n) ENGINE = CollapsingMergeTree(sign)\\nOrder By (team_id, cohort_id, person_id)\\n\\n]": 0.005352860000584769, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_static_cohort ON CLUSTER posthog\\n(\\n id UUID,\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, cohort_id, person_id, id)\\n\\n]": 0.002348525999877893, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nORDER BY (id, event_uuid, distinct_id, team_id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0026635300000634743, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW IF NOT EXISTS events_dead_letter_queue_mv ON CLUSTER posthog\\nTO posthog_test.events_dead_letter_queue\\nAS SELECT\\nid,\\nevent_uuid,\\nevent,\\nproperties,\\ndistinct_id,\\nteam_id,\\nelements_chain,\\ncreated_at,\\nip,\\nsite_url,\\nnow,\\nraw_payload,\\nerror_timestamp,\\nerror_location,\\nerror,\\ntags,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events_dead_letter_queue\\n]": 0.0022367260003193223, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('kafka:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0023466259995075234, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , $group_0 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_0')) COMMENT 'column_materializer::$group_0'\\n , $group_1 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_1')) COMMENT 'column_materializer::$group_1'\\n , $group_2 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_2')) COMMENT 'column_materializer::$group_2'\\n , $group_3 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_3')) COMMENT 'column_materializer::$group_3'\\n , $group_4 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_4')) COMMENT 'column_materializer::$group_4'\\n , $window_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$window_id')) COMMENT 'column_materializer::$window_id'\\n , $session_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$session_id')) COMMENT 'column_materializer::$session_id'\\n\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMM(timestamp)\\nORDER BY (team_id, toDate(timestamp), event, cityHash64(distinct_id), cityHash64(uuid))\\n\\n\\n]": 0.0023610260000168637, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'kafka:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0024021270000957884, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW events_mv ON CLUSTER posthog\\nTO posthog_test.events\\nAS SELECT\\nuuid,\\nevent,\\nproperties,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nelements_chain,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events\\n]": 0.0023286249993361707, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, group_type_index, group_key)\\n\\n]": 0.0024116260005939694, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.002340027000172995, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW groups_mv ON CLUSTER posthog\\nTO posthog_test.groups\\nAS SELECT\\ngroup_type_index,\\ngroup_key,\\ncreated_at,\\nteam_id,\\ngroup_properties,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_groups\\n]": 0.002318927000487747, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, id)\\n\\n]": 0.0023635270003978803, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.0023795279998921615, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_mv ON CLUSTER posthog\\nTO posthog_test.person\\nAS SELECT\\nid,\\ncreated_at,\\nteam_id,\\nproperties,\\nis_identified,\\nis_deleted,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person\\n]": 0.002349227000195242, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Int8 DEFAULT 1,\\n is_deleted Int8 ALIAS if(_sign==-1, 1, 0)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = CollapsingMergeTree(_sign)\\nOrder By (team_id, distinct_id, person_id)\\n\\n]": 0.002360926000164909, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.002332624999780819, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_distinct_id_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id\\nAS SELECT\\ndistinct_id,\\nperson_id,\\nteam_id,\\ncoalesce(_sign, if(is_deleted==0, 1, -1)) AS _sign,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person_distinct_id\\n]": 0.0023313260003305913, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n, _partition UInt64\\n) ENGINE = ReplacingMergeTree(version)\\n\\n ORDER BY (team_id, distinct_id)\\n SETTINGS index_granularity = 512\\n ]": 0.002462426999500167, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.002362025999900652, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW person_distinct_id2_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id2\\nAS SELECT\\nteam_id,\\ndistinct_id,\\nperson_id,\\nis_deleted,\\nversion,\\n_timestamp,\\n_offset,\\n_partition\\nFROM posthog_test.kafka_person_distinct_id2\\n]": 0.002344527000332164, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('kafka:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0023709269999017124, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY plugin_id ORDER BY (team_id, id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0024164280002878513, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW plugin_log_entries_mv ON CLUSTER posthog\\nTO posthog_test.plugin_log_entries\\nAS SELECT\\nid,\\nteam_id,\\nplugin_id,\\nplugin_config_id,\\ntimestamp,\\nsource,\\ntype,\\nmessage,\\ninstance_id,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_plugin_log_entries\\n]": 0.0023598259999744187, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , has_full_snapshot BOOLEAN materialized JSONExtractBool(snapshot_data, 'has_full_snapshot')\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMMDD(timestamp)\\nORDER BY (team_id, toHour(timestamp), session_id, timestamp, uuid)\\n\\nSETTINGS index_granularity=512\\n]": 0.002342526000120415, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE MATERIALIZED VIEW session_recording_events_mv ON CLUSTER posthog\\nTO posthog_test.session_recording_events\\nAS SELECT\\nuuid,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nsession_id,\\nwindow_id,\\nsnapshot_data,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_session_recording_events\\n]": 0.0023197260002234543, "clickhouse/sql/test/test_schema.py::test_create_table_query[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.002362226999593986, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS cohortpeople ON CLUSTER posthog\\n(\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64,\\n sign Int8\\n) ENGINE = CollapsingMergeTree(sign)\\nOrder By (team_id, cohort_id, person_id)\\n\\n]": 0.0030694339993715403, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_static_cohort ON CLUSTER posthog\\n(\\n id UUID,\\n person_id UUID,\\n cohort_id Int64,\\n team_id Int64\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, cohort_id, person_id, id)\\n\\n]": 0.00296903399976145, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nORDER BY (id, event_uuid, distinct_id, team_id)\\n\\nSETTINGS index_granularity=512\\n]": 0.002974233999793796, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW IF NOT EXISTS events_dead_letter_queue_mv ON CLUSTER posthog\\nTO posthog_test.events_dead_letter_queue\\nAS SELECT\\nid,\\nevent_uuid,\\nevent,\\nproperties,\\ndistinct_id,\\nteam_id,\\nelements_chain,\\ncreated_at,\\nip,\\nsite_url,\\nnow,\\nraw_payload,\\nerror_timestamp,\\nerror_location,\\nerror,\\ntags,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events_dead_letter_queue\\n]": 0.002508528998987458, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('kafka:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0026259289998051827, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , $group_0 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_0')) COMMENT 'column_materializer::$group_0'\\n , $group_1 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_1')) COMMENT 'column_materializer::$group_1'\\n , $group_2 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_2')) COMMENT 'column_materializer::$group_2'\\n , $group_3 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_3')) COMMENT 'column_materializer::$group_3'\\n , $group_4 VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$group_4')) COMMENT 'column_materializer::$group_4'\\n , $window_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$window_id')) COMMENT 'column_materializer::$window_id'\\n , $session_id VARCHAR materialized trim(BOTH '\"' FROM JSONExtractRaw(properties, '$session_id')) COMMENT 'column_materializer::$session_id'\\n\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMM(timestamp)\\nORDER BY (team_id, toDate(timestamp), event, cityHash64(distinct_id), cityHash64(uuid))\\n\\n\\n]": 0.002947933000541525, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'kafka:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0026926309997179487, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW events_mv ON CLUSTER posthog\\nTO posthog_test.events\\nAS SELECT\\nuuid,\\nevent,\\nproperties,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nelements_chain,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_events\\n]": 0.00259983000023567, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, group_type_index, group_key)\\n\\n]": 0.0029325320001589716, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.0026240289998895605, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW groups_mv ON CLUSTER posthog\\nTO posthog_test.groups\\nAS SELECT\\ngroup_type_index,\\ngroup_key,\\ncreated_at,\\nteam_id,\\ngroup_properties,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_groups\\n]": 0.002606729000035557, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nOrder By (team_id, id)\\n\\n]": 0.0029596330005006166, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.002599428999928932, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_mv ON CLUSTER posthog\\nTO posthog_test.person\\nAS SELECT\\nid,\\ncreated_at,\\nteam_id,\\nproperties,\\nis_identified,\\nis_deleted,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person\\n]": 0.0025470290001976537, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Int8 DEFAULT 1,\\n is_deleted Int8 ALIAS if(_sign==-1, 1, 0)\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = CollapsingMergeTree(_sign)\\nOrder By (team_id, distinct_id, person_id)\\n\\n]": 0.0028019319997838465, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.0024372270004278107, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_distinct_id_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id\\nAS SELECT\\ndistinct_id,\\nperson_id,\\nteam_id,\\ncoalesce(_sign, if(is_deleted==0, 1, -1)) AS _sign,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_person_distinct_id\\n]": 0.0024399280000579893, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n, _partition UInt64\\n) ENGINE = ReplacingMergeTree(version)\\n\\n ORDER BY (team_id, distinct_id)\\n SETTINGS index_granularity = 512\\n ]": 0.002731131000473397, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.002548828999806574, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW person_distinct_id2_mv ON CLUSTER posthog\\nTO posthog_test.person_distinct_id2\\nAS SELECT\\nteam_id,\\ndistinct_id,\\nperson_id,\\nis_deleted,\\nversion,\\n_timestamp,\\n_offset,\\n_partition\\nFROM posthog_test.kafka_person_distinct_id2\\n]": 0.002540529000270908, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('kafka:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0025744280005710607, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY plugin_id ORDER BY (team_id, id)\\n\\nSETTINGS index_granularity=512\\n]": 0.0029442329996527405, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW plugin_log_entries_mv ON CLUSTER posthog\\nTO posthog_test.plugin_log_entries\\nAS SELECT\\nid,\\nteam_id,\\nplugin_id,\\nplugin_config_id,\\ntimestamp,\\nsource,\\ntype,\\nmessage,\\ninstance_id,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_plugin_log_entries\\n]": 0.002461029000187409, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n , has_full_snapshot BOOLEAN materialized JSONExtractBool(snapshot_data, 'has_full_snapshot')\\n\\n \\n, _timestamp DateTime\\n, _offset UInt64\\n\\n) ENGINE = ReplacingMergeTree(_timestamp)\\nPARTITION BY toYYYYMMDD(timestamp)\\nORDER BY (team_id, toHour(timestamp), session_id, timestamp, uuid)\\n\\nSETTINGS index_granularity=512\\n]": 0.0030223339995245624, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE MATERIALIZED VIEW session_recording_events_mv ON CLUSTER posthog\\nTO posthog_test.session_recording_events\\nAS SELECT\\nuuid,\\ntimestamp,\\nteam_id,\\ndistinct_id,\\nsession_id,\\nwindow_id,\\nsnapshot_data,\\ncreated_at,\\n_timestamp,\\n_offset\\nFROM posthog_test.kafka_session_recording_events\\n]": 0.0024095269995996205, "clickhouse/sql/test/test_schema.py::test_create_table_query_replicated_and_storage[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.0024596260000180337, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_events_dead_letter_queue ON CLUSTER posthog\\n(\\n id UUID,\\n event_uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n distinct_id VARCHAR,\\n team_id Int64,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC'),\\n ip VARCHAR,\\n site_url VARCHAR,\\n now DateTime64(6, 'UTC'),\\n raw_payload VARCHAR,\\n error_timestamp DateTime64(6, 'UTC'),\\n error_location VARCHAR,\\n error VARCHAR,\\n tags Array(VARCHAR)\\n \\n) ENGINE = Kafka('kafka:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow')\\n]": 0.0028122310004619067, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n event VARCHAR,\\n properties VARCHAR,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n elements_chain VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = \\n Kafka () SETTINGS\\n kafka_broker_list = 'kafka:9092',\\n kafka_topic_list = 'clickhouse_events_proto_test',\\n kafka_group_name = 'group1',\\n kafka_format = 'Protobuf',\\n kafka_schema = 'events:Event',\\n kafka_skip_broken_messages = 100\\n \\n]": 0.0026832290000129433, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_groups ON CLUSTER posthog\\n(\\n group_type_index UInt8,\\n group_key VARCHAR,\\n created_at DateTime64,\\n team_id Int64,\\n group_properties VARCHAR\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')\\n]": 0.002731829999902402, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_person ON CLUSTER posthog\\n(\\n id UUID,\\n created_at DateTime64,\\n team_id Int64,\\n properties VARCHAR,\\n is_identified Boolean,\\n is_deleted Boolean DEFAULT 0\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')\\n]": 0.002687929999865446, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE kafka_person_distinct_id ON CLUSTER posthog\\n(\\n distinct_id VARCHAR,\\n person_id UUID,\\n team_id Int64,\\n _sign Nullable(Int8),\\n is_deleted Nullable(Int8)\\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_unique_id_test', 'group1', 'JSONEachRow')\\n]": 0.0027057309994233947, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_person_distinct_id2 ON CLUSTER posthog\\n(\\n team_id Int64,\\n distinct_id VARCHAR,\\n person_id UUID,\\n is_deleted Boolean,\\n version Int64 DEFAULT 1\\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')\\n]": 0.00273703100037892, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_plugin_log_entries ON CLUSTER posthog\\n(\\n id UUID,\\n team_id Int64,\\n plugin_id Int64,\\n plugin_config_id Int64,\\n timestamp DateTime64(6, 'UTC'),\\n source VARCHAR,\\n type VARCHAR,\\n message VARCHAR,\\n instance_id UUID\\n \\n) ENGINE = Kafka('kafka:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')\\n]": 0.0027253299999756564, "clickhouse/sql/test/test_schema.py::test_create_kafka_table_with_different_kafka_host[\\nCREATE TABLE IF NOT EXISTS kafka_session_recording_events ON CLUSTER posthog\\n(\\n uuid UUID,\\n timestamp DateTime64(6, 'UTC'),\\n team_id Int64,\\n distinct_id VARCHAR,\\n session_id VARCHAR,\\n window_id VARCHAR,\\n snapshot_data VARCHAR,\\n created_at DateTime64(6, 'UTC')\\n \\n \\n) ENGINE = Kafka('kafka:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')\\n]": 0.0026919300003100943, "clickhouse/sql/test/test_schema.py::test_create_kafka_events_with_disabled_protobuf": 0.0026012289999925997, "clickhouse/test/test_error.py::test_wrap_query_error[error0-AttributeError-Foobar-None]": 0.0021369230003074335, "clickhouse/test/test_error.py::test_wrap_query_error[error1-EstimatedQueryExecutionTimeTooLong-Estimated query execution time (34.5 seconds) is too long.-None]": 0.0035665400005200354, "clickhouse/test/test_error.py::test_wrap_query_error[error2-CHQueryErrorSyntaxError-Code: 62.\\nSyntax error-62]": 0.002301224999882834, "clickhouse/test/test_error.py::test_wrap_query_error[error3-CHQueryErrorUnknown-Code: 9999.\\nSyntax error-9999]": 0.002256424999814044, "clickhouse/views/test/test_clickhouse_retention.py::test_with_materialized_columns": 0.0016704190002201358, "clickhouse/views/test/test_clickhouse_trends.py::test_with_materialized_columns": 1.8125781269995969}
diff --git a/bin/e2e-test-runner b/bin/e2e-test-runner
index e9e40fb5983302..bb37426fffdc89 100755
--- a/bin/e2e-test-runner
+++ b/bin/e2e-test-runner
@@ -7,7 +7,7 @@ export CYPRESS_BASE_URL=http://localhost:8080
export OPT_OUT_CAPTURE=1
export SECURE_COOKIES=0
export SKIP_SERVICE_VERSION_REQUIREMENTS=1
-export KAFKA_URL=kafka://localhost:9092
+export KAFKA_URL=kafka://kafka:9092
export CLICKHOUSE_DATABASE=posthog_test
export TEST=1 # Plugin server and kafka revert to 'default' Clickhouse database if TEST is not set
export CLICKHOUSE_SECURE=0
diff --git a/bin/plugin-server b/bin/plugin-server
index 7b870114e5e1b4..66427756036286 100755
--- a/bin/plugin-server
+++ b/bin/plugin-server
@@ -23,7 +23,7 @@ done
export BASE_DIR=$(dirname $(dirname "$PWD/${0#./}"))
-export KAFKA_URL=${KAFKA_URL:-'kafka://localhost:9092'}
+export KAFKA_URL=${KAFKA_URL:-'kafka://kafka:9092'}
export KAFKA_HOSTS
./bin/migrate-check
diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml
index 7949e21a850420..069aefcbd898c4 100644
--- a/docker-compose.dev.yml
+++ b/docker-compose.dev.yml
@@ -12,16 +12,18 @@ services:
db:
image: postgres:12-alpine
restart: on-failure
- network_mode: host
environment:
POSTGRES_USER: posthog
POSTGRES_DB: posthog
POSTGRES_PASSWORD: posthog
+ ports:
+ - '5432:5432'
redis:
image: redis:6.2.7-alpine
restart: on-failure
- network_mode: host
+ ports:
+ - '6379:6379'
command: redis-server --maxmemory-policy allkeys-lru --maxmemory 200mb
clickhouse:
@@ -31,10 +33,14 @@ services:
#
image: ${CLICKHOUSE_SERVER_IMAGE:-clickhouse/clickhouse-server:22.3}
restart: on-failure
- network_mode: host
depends_on:
- kafka
- zookeeper
+ ports:
+ - '8123:8123'
+ - '9000:9000'
+ - '9440:9440'
+ - '9009:9009'
volumes:
- ./posthog/idl:/idl
- ./docker/clickhouse/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
@@ -43,26 +49,28 @@ services:
zookeeper:
image: zookeeper:3.7.0
restart: on-failure
- network_mode: host
kafka:
image: bitnami/kafka:2.8.1-debian-10-r99
restart: on-failure
- network_mode: host
depends_on:
- zookeeper
+ ports:
+ - '9092:9092'
environment:
KAFKA_BROKER_ID: 1001
KAFKA_CFG_RESERVED_BROKER_MAX_ID: 1001
KAFKA_CFG_LISTENERS: PLAINTEXT://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092
- KAFKA_CFG_ZOOKEEPER_CONNECT: localhost:2181
+ KAFKA_CFG_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
+ KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
ALLOW_PLAINTEXT_LISTENER: 'true'
object_storage:
image: minio/minio:RELEASE.2022-06-25T15-50-16Z
restart: on-failure
- network_mode: host
+ ports:
+ - '19000:19000'
+ - '19001:19001'
environment:
MINIO_ROOT_USER: object_storage_root_user
MINIO_ROOT_PASSWORD: object_storage_root_password
@@ -72,4 +80,6 @@ services:
maildev:
image: maildev/maildev:2.0.5
restart: on-failure
- network_mode: host
+ ports:
+ - '1080:1080'
+ - '1025:1025'
diff --git a/docker/clickhouse/config.xml b/docker/clickhouse/config.xml
index 99af9414995307..30aa3065655f65 100644
--- a/docker/clickhouse/config.xml
+++ b/docker/clickhouse/config.xml
@@ -692,7 +692,7 @@
- localhost
+ zookeeper
2181
diff --git a/plugin-server/src/config/config.ts b/plugin-server/src/config/config.ts
index 5b1bfc0973dbed..45cc1e4e4efb22 100644
--- a/plugin-server/src/config/config.ts
+++ b/plugin-server/src/config/config.ts
@@ -29,7 +29,7 @@ export function getDefaultConfig(): PluginsServerConfig {
CLICKHOUSE_CA: null,
CLICKHOUSE_SECURE: false,
CLICKHOUSE_DISABLE_EXTERNAL_SCHEMAS: true,
- KAFKA_HOSTS: 'localhost:9092', // KEEP IN SYNC WITH posthog/settings/data_stores.py
+ KAFKA_HOSTS: 'kafka:9092', // KEEP IN SYNC WITH posthog/settings/data_stores.py
KAFKA_CLIENT_CERT_B64: null,
KAFKA_CLIENT_CERT_KEY_B64: null,
KAFKA_TRUSTED_CERT_B64: null,
diff --git a/plugin-server/tests/queue.test.ts b/plugin-server/tests/queue.test.ts
index c2445ffd26a0ae..18c7fdf4e5b6b3 100644
--- a/plugin-server/tests/queue.test.ts
+++ b/plugin-server/tests/queue.test.ts
@@ -19,7 +19,7 @@ describe('queue', () => {
beforeEach(async () => {
;[hub, closeHub] = await createHub({
LOG_LEVEL: LogLevel.Warn,
- KAFKA_HOSTS: process.env.KAFKA_HOSTS || 'localhost:9092',
+ KAFKA_HOSTS: process.env.KAFKA_HOSTS || 'kafka:9092',
})
piscina = { run: jest.fn() } as any
})
diff --git a/posthog/async_migrations/test/__snapshots__/test_0004_replicated_schema.ambr b/posthog/async_migrations/test/__snapshots__/test_0004_replicated_schema.ambr
index 8b818f6914e163..f9eaffaf44db6d 100644
--- a/posthog/async_migrations/test/__snapshots__/test_0004_replicated_schema.ambr
+++ b/posthog/async_migrations/test/__snapshots__/test_0004_replicated_schema.ambr
@@ -13,13 +13,13 @@
# name: Test0004ReplicatedSchema.test_migration.10
(
'kafka_plugin_log_entries',
- "Kafka('localhost:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')",
+ "Kafka('kafka:9092', 'plugin_log_entries_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_migration.11
(
'kafka_session_recording_events',
- "Kafka('localhost:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')",
+ "Kafka('kafka:9092', 'clickhouse_session_recording_events_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_migration.12
@@ -91,37 +91,37 @@
# name: Test0004ReplicatedSchema.test_migration.4
(
'kafka_events',
- "Kafka SETTINGS kafka_broker_list = 'localhost:9092', kafka_topic_list = 'clickhouse_events_proto_test', kafka_group_name = 'group1', kafka_format = 'Protobuf', kafka_schema = 'events:Event', kafka_skip_broken_messages = 100",
+ "Kafka SETTINGS kafka_broker_list = 'kafka:9092', kafka_topic_list = 'clickhouse_events_proto_test', kafka_group_name = 'group1', kafka_format = 'Protobuf', kafka_schema = 'events:Event', kafka_skip_broken_messages = 100",
)
---
# name: Test0004ReplicatedSchema.test_migration.5
(
'kafka_events_dead_letter_queue',
- "Kafka('localhost:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 1000",
+ "Kafka('kafka:9092', 'events_dead_letter_queue_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 1000",
)
---
# name: Test0004ReplicatedSchema.test_migration.6
(
'kafka_events_json',
- "Kafka('localhost:9092', 'clickhouse_events_json_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 100",
+ "Kafka('kafka:9092', 'clickhouse_events_json_test', 'group1', 'JSONEachRow') SETTINGS kafka_skip_broken_messages = 100",
)
---
# name: Test0004ReplicatedSchema.test_migration.7
(
'kafka_groups',
- "Kafka('localhost:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')",
+ "Kafka('kafka:9092', 'clickhouse_groups_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_migration.8
(
'kafka_person',
- "Kafka('localhost:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')",
+ "Kafka('kafka:9092', 'clickhouse_person_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_migration.9
(
'kafka_person_distinct_id2',
- "Kafka('localhost:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')",
+ "Kafka('kafka:9092', 'clickhouse_person_distinct_id_test', 'group1', 'JSONEachRow')",
)
---
# name: Test0004ReplicatedSchema.test_rollback
@@ -139,13 +139,13 @@
# name: Test0004ReplicatedSchema.test_rollback.10