From 79dc08e1b04fc5d3d11ea650feb1aea637ff0d9f Mon Sep 17 00:00:00 2001 From: Anirudh S Date: Sat, 21 Sep 2024 19:21:34 +0530 Subject: [PATCH 1/2] WIP fix for graph x axis labels --- frontend/src/lib/utils.tsx | 18 + .../insights/views/LineGraph/LineGraph.tsx | 32 +- .../src/scenes/web-analytics/request.json | 29 + .../src/scenes/web-analytics/response.json | 1666 ++++++++++++++++ .../src/scenes/web-analytics/response1.json | 1681 +++++++++++++++++ .../src/scenes/web-analytics/response2.json | 21 + .../scenes/web-analytics/unique_visitors.sql | 49 + 7 files changed, 3493 insertions(+), 3 deletions(-) create mode 100644 frontend/src/scenes/web-analytics/request.json create mode 100644 frontend/src/scenes/web-analytics/response.json create mode 100644 frontend/src/scenes/web-analytics/response1.json create mode 100644 frontend/src/scenes/web-analytics/response2.json create mode 100644 frontend/src/scenes/web-analytics/unique_visitors.sql diff --git a/frontend/src/lib/utils.tsx b/frontend/src/lib/utils.tsx index 1a59aec939d89..3c408b3cde6e2 100644 --- a/frontend/src/lib/utils.tsx +++ b/frontend/src/lib/utils.tsx @@ -549,6 +549,24 @@ export function humanFriendlyDetailedTime( return parsedDate.format(formatString) } +export function cleanupDateList(list1: string[]): string[] { + let previousDate: dayjs.Dayjs | null = null + + return list1.map((dateTimeString) => { + const dateTime = new Date(dateTimeString) + const currentDate = dayjs(dateTime) + const time = currentDate.format('HH:mm') + let formattedDate = '' + + if (!currentDate.isSame(previousDate, 'd')) { + formattedDate = currentDate.format('YYYY-MM-DD') + previousDate = currentDate + } + + return formattedDate + ' ' + time + }) +} + // Pad numbers with leading zeros export const zeroPad = (num: number, places: number): string => String(num).padStart(places, '0') diff --git a/frontend/src/scenes/insights/views/LineGraph/LineGraph.tsx b/frontend/src/scenes/insights/views/LineGraph/LineGraph.tsx index bd1e85fd6ee66..0c50e7a5079f8 100644 --- a/frontend/src/scenes/insights/views/LineGraph/LineGraph.tsx +++ b/frontend/src/scenes/insights/views/LineGraph/LineGraph.tsx @@ -38,7 +38,7 @@ import { createTooltipData } from 'scenes/insights/views/LineGraph/tooltip-data' import { ErrorBoundary } from '~/layout/ErrorBoundary' import { themeLogic } from '~/layout/navigation-3000/themeLogic' -import { hexToRGBA, lightenDarkenColor } from '~/lib/utils' +import { hexToRGBA, lightenDarkenColor, cleanupDateList } from '~/lib/utils' import { groupsModel } from '~/models/groupsModel' import { TrendsFilter } from '~/queries/schema' import { GraphDataset, GraphPoint, GraphPointPayload, GraphType } from '~/types' @@ -767,10 +767,36 @@ export function LineGraph_({ options.indexAxis = 'y' } Chart.register(ChartjsPluginStacked100) + labels = cleanupDateList(labels) const newChart = new Chart(canvasRef.current?.getContext('2d') as ChartItem, { type: (isBar ? GraphType.Bar : type) as ChartType, - data: { labels, datasets }, - options, + data: { labels: labels.map((label) => { + return label + }), datasets: datasets }, + options: { + ...options, + scales: { + x: { + ticks: { + autoSkip: true, + // maxTicksLimit: 5, + // autoSkipPadding: 2, + maxRotation: 0, + minRotation: 0, + callback: function(value, index, values) { + console.log(value) + console.log(index) + console.log(values) + const item = this.getLabelForValue(value) + const itemSplit = item.split(' ') + const date = itemSplit[0] + const time = itemSplit[1] + return [time, date] + }, + } + } + }, + }, plugins: [ChartDataLabels], }) setMyLineChart(newChart) diff --git a/frontend/src/scenes/web-analytics/request.json b/frontend/src/scenes/web-analytics/request.json new file mode 100644 index 0000000000000..1cf5b4d249eee --- /dev/null +++ b/frontend/src/scenes/web-analytics/request.json @@ -0,0 +1,29 @@ +{ + "query": { + "kind": "TrendsQuery", + "dateRange": { + "date_from": "-7d", + "date_to": "" + }, + "interval": "hour", + "series": [ + { + "event": "$pageview", + "kind": "EventsNode", + "math": "dau", + "name": "Pageview", + "custom_name": "2Unique visitors" + } + ], + "trendsFilter": { + "display": "ActionsLineGraph" + }, + "compareFilter": { + "compare": true + }, + "filterTestAccounts": false, + "properties": [] + }, + "client_query_id": "c65c7683-af09-426d-b37b-d2486b6a4c28", + "refresh": "async" +} diff --git a/frontend/src/scenes/web-analytics/response.json b/frontend/src/scenes/web-analytics/response.json new file mode 100644 index 0000000000000..e22722f8d6f8d --- /dev/null +++ b/frontend/src/scenes/web-analytics/response.json @@ -0,0 +1,1666 @@ +{ + "cache_key": "cache_5fe584012c8ea8796807077c6e7bdf7f", + "cache_target_age": "2024-09-19T03:13:31.793345Z", + "calculation_trigger": null, + "error": "", + "hasMore": false, + "hogql": "SELECT\n arrayMap(number -> plus(toStartOfHour(assumeNotNull(toDateTime('2024-09-12 00:00:00'))), toIntervalHour(number)), range(0, plus(coalesce(dateDiff('hour', toStartOfHour(assumeNotNull(toDateTime('2024-09-12 00:00:00'))), toStartOfHour(assumeNotNull(toDateTime('2024-09-19 02:59:59'))))), 1))) AS date,\n arrayMap(_match_date -> arraySum(arraySlice(groupArray(count), indexOf(groupArray(day_start) AS _days_for_count, _match_date) AS _index, plus(minus(arrayLastIndex(x -> equals(x, _match_date), _days_for_count), _index), 1))), date) AS total\nFROM\n (SELECT\n sum(total) AS count,\n day_start\n FROM\n (SELECT\n count(DISTINCT e.person_id) AS total,\n toStartOfHour(timestamp) AS day_start\n FROM\n events AS e SAMPLE 1\n WHERE\n and(greaterOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-12 00:00:00'))), lessOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-19 02:59:59'))), equals(event, '$pageview'))\n GROUP BY\n day_start)\n GROUP BY\n day_start\n ORDER BY\n day_start ASC)\nORDER BY\n arraySum(total) DESC\nLIMIT 50000\nUNION ALL\nSELECT\n arrayMap(number -> plus(toStartOfHour(assumeNotNull(toDateTime('2024-09-04 00:00:00'))), toIntervalHour(number)), range(0, plus(coalesce(dateDiff('hour', toStartOfHour(assumeNotNull(toDateTime('2024-09-04 00:00:00'))), toStartOfHour(assumeNotNull(toDateTime('2024-09-11 02:59:59'))))), 1))) AS date,\n arrayMap(_match_date -> arraySum(arraySlice(groupArray(count), indexOf(groupArray(day_start) AS _days_for_count, _match_date) AS _index, plus(minus(arrayLastIndex(x -> equals(x, _match_date), _days_for_count), _index), 1))), date) AS total\nFROM\n (SELECT\n sum(total) AS count,\n day_start\n FROM\n (SELECT\n count(DISTINCT e.person_id) AS total,\n toStartOfHour(timestamp) AS day_start\n FROM\n events AS e SAMPLE 1\n WHERE\n and(greaterOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-04 00:00:00'))), lessOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-11 02:59:59'))), equals(event, '$pageview'))\n GROUP BY\n day_start)\n GROUP BY\n day_start\n ORDER BY\n day_start ASC)\nORDER BY\n arraySum(total) DESC\nLIMIT 50000", + "is_cached": true, + "last_refresh": "2024-09-19T02:58:31.793345Z", + "modifiers": { + "bounceRatePageViewMode": "count_pageviews", + "dataWarehouseEventsModifiers": [], + "debug": null, + "inCohortVia": "auto", + "materializationMode": "legacy_null_as_null", + "optimizeJoinedFilters": false, + "personsArgMaxVersion": "auto", + "personsJoinMode": null, + "personsOnEventsMode": "person_id_override_properties_joined", + "propertyGroupsMode": null, + "s3TableUseInvalidColumns": null, + "sessionTableVersion": "auto" + }, + "next_allowed_client_refresh": "2024-09-19T03:01:31.793345Z", + "query_status": { + "complete": false, + "dashboard_id": null, + "end_time": null, + "error": false, + "error_message": null, + "expiration_time": "2024-09-19T04:32:53.720582Z", + "id": "c65c7683-af09-426d-b37b-d2486b6a4c28", + "insight_id": null, + "labels": null, + "pickup_time": null, + "query_async": true, + "query_progress": null, + "results": null, + "start_time": "2024-09-19T04:12:53.399929Z", + "task_id": "c5599f54-65c4-48ce-b3fd-f48785e58a80", + "team_id": 1 + }, + "results": [ + { + "data": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1 + ], + "labels": [ + "hour 0", + "hour 1", + "hour 2", + "hour 3", + "hour 4", + "hour 5", + "hour 6", + "hour 7", + "hour 8", + "hour 9", + "hour 10", + "hour 11", + "hour 12", + "hour 13", + "hour 14", + "hour 15", + "hour 16", + "hour 17", + "hour 18", + "hour 19", + "hour 20", + "hour 21", + "hour 22", + "hour 23", + "hour 24", + "hour 25", + "hour 26", + "hour 27", + "hour 28", + "hour 29", + "hour 30", + "hour 31", + "hour 32", + "hour 33", + "hour 34", + "hour 35", + "hour 36", + "hour 37", + "hour 38", + "hour 39", + "hour 40", + "hour 41", + "hour 42", + "hour 43", + "hour 44", + "hour 45", + "hour 46", + "hour 47", + "hour 48", + "hour 49", + "hour 50", + "hour 51", + "hour 52", + "hour 53", + "hour 54", + "hour 55", + "hour 56", + "hour 57", + "hour 58", + "hour 59", + "hour 60", + "hour 61", + "hour 62", + "hour 63", + "hour 64", + "hour 65", + "hour 66", + "hour 67", + "hour 68", + "hour 69", + "hour 70", + "hour 71", + "hour 72", + "hour 73", + "hour 74", + "hour 75", + "hour 76", + "hour 77", + "hour 78", + "hour 79", + "hour 80", + "hour 81", + "hour 82", + "hour 83", + "hour 84", + "hour 85", + "hour 86", + "hour 87", + "hour 88", + "hour 89", + "hour 90", + "hour 91", + "hour 92", + "hour 93", + "hour 94", + "hour 95", + "hour 96", + "hour 97", + "hour 98", + "hour 99", + "hour 100", + "hour 101", + "hour 102", + "hour 103", + "hour 104", + "hour 105", + "hour 106", + "hour 107", + "hour 108", + "hour 109", + "hour 110", + "hour 111", + "hour 112", + "hour 113", + "hour 114", + "hour 115", + "hour 116", + "hour 117", + "hour 118", + "hour 119", + "hour 120", + "hour 121", + "hour 122", + "hour 123", + "hour 124", + "hour 125", + "hour 126", + "hour 127", + "hour 128", + "hour 129", + "hour 130", + "hour 131", + "hour 132", + "hour 133", + "hour 134", + "hour 135", + "hour 136", + "hour 137", + "hour 138", + "hour 139", + "hour 140", + "hour 141", + "hour 142", + "hour 143", + "hour 144", + "hour 145", + "hour 146", + "hour 147", + "hour 148", + "hour 149", + "hour 150", + "hour 151", + "hour 152", + "hour 153", + "hour 154", + "hour 155", + "hour 156", + "hour 157", + "hour 158", + "hour 159", + "hour 160", + "hour 161", + "hour 162", + "hour 163", + "hour 164", + "hour 165", + "hour 166", + "hour 167", + "hour 168", + "hour 169", + "hour 170" + ], + "days": [ + "2024-09-12 00:00:00", + "2024-09-12 01:00:00", + "2024-09-12 02:00:00", + "2024-09-12 03:00:00", + "2024-09-12 04:00:00", + "2024-09-12 05:00:00", + "2024-09-12 06:00:00", + "2024-09-12 07:00:00", + "2024-09-12 08:00:00", + "2024-09-12 09:00:00", + "2024-09-12 10:00:00", + "2024-09-12 11:00:00", + "2024-09-12 12:00:00", + "2024-09-12 13:00:00", + "2024-09-12 14:00:00", + "2024-09-12 15:00:00", + "2024-09-12 16:00:00", + "2024-09-12 17:00:00", + "2024-09-12 18:00:00", + "2024-09-12 19:00:00", + "2024-09-12 20:00:00", + "2024-09-12 21:00:00", + "2024-09-12 22:00:00", + "2024-09-12 23:00:00", + "2024-09-13 00:00:00", + "2024-09-13 01:00:00", + "2024-09-13 02:00:00", + "2024-09-13 03:00:00", + "2024-09-13 04:00:00", + "2024-09-13 05:00:00", + "2024-09-13 06:00:00", + "2024-09-13 07:00:00", + "2024-09-13 08:00:00", + "2024-09-13 09:00:00", + "2024-09-13 10:00:00", + "2024-09-13 11:00:00", + "2024-09-13 12:00:00", + "2024-09-13 13:00:00", + "2024-09-13 14:00:00", + "2024-09-13 15:00:00", + "2024-09-13 16:00:00", + "2024-09-13 17:00:00", + "2024-09-13 18:00:00", + "2024-09-13 19:00:00", + "2024-09-13 20:00:00", + "2024-09-13 21:00:00", + "2024-09-13 22:00:00", + "2024-09-13 23:00:00", + "2024-09-14 00:00:00", + "2024-09-14 01:00:00", + "2024-09-14 02:00:00", + "2024-09-14 03:00:00", + "2024-09-14 04:00:00", + "2024-09-14 05:00:00", + "2024-09-14 06:00:00", + "2024-09-14 07:00:00", + "2024-09-14 08:00:00", + "2024-09-14 09:00:00", + "2024-09-14 10:00:00", + "2024-09-14 11:00:00", + "2024-09-14 12:00:00", + "2024-09-14 13:00:00", + "2024-09-14 14:00:00", + "2024-09-14 15:00:00", + "2024-09-14 16:00:00", + "2024-09-14 17:00:00", + "2024-09-14 18:00:00", + "2024-09-14 19:00:00", + "2024-09-14 20:00:00", + "2024-09-14 21:00:00", + "2024-09-14 22:00:00", + "2024-09-14 23:00:00", + "2024-09-15 00:00:00", + "2024-09-15 01:00:00", + "2024-09-15 02:00:00", + "2024-09-15 03:00:00", + "2024-09-15 04:00:00", + "2024-09-15 05:00:00", + "2024-09-15 06:00:00", + "2024-09-15 07:00:00", + "2024-09-15 08:00:00", + "2024-09-15 09:00:00", + "2024-09-15 10:00:00", + "2024-09-15 11:00:00", + "2024-09-15 12:00:00", + "2024-09-15 13:00:00", + "2024-09-15 14:00:00", + "2024-09-15 15:00:00", + "2024-09-15 16:00:00", + "2024-09-15 17:00:00", + "2024-09-15 18:00:00", + "2024-09-15 19:00:00", + "2024-09-15 20:00:00", + "2024-09-15 21:00:00", + "2024-09-15 22:00:00", + "2024-09-15 23:00:00", + "2024-09-16 00:00:00", + "2024-09-16 01:00:00", + "2024-09-16 02:00:00", + "2024-09-16 03:00:00", + "2024-09-16 04:00:00", + "2024-09-16 05:00:00", + "2024-09-16 06:00:00", + "2024-09-16 07:00:00", + "2024-09-16 08:00:00", + "2024-09-16 09:00:00", + "2024-09-16 10:00:00", + "2024-09-16 11:00:00", + "2024-09-16 12:00:00", + "2024-09-16 13:00:00", + "2024-09-16 14:00:00", + "2024-09-16 15:00:00", + "2024-09-16 16:00:00", + "2024-09-16 17:00:00", + "2024-09-16 18:00:00", + "2024-09-16 19:00:00", + "2024-09-16 20:00:00", + "2024-09-16 21:00:00", + "2024-09-16 22:00:00", + "2024-09-16 23:00:00", + "2024-09-17 00:00:00", + "2024-09-17 01:00:00", + "2024-09-17 02:00:00", + "2024-09-17 03:00:00", + "2024-09-17 04:00:00", + "2024-09-17 05:00:00", + "2024-09-17 06:00:00", + "2024-09-17 07:00:00", + "2024-09-17 08:00:00", + "2024-09-17 09:00:00", + "2024-09-17 10:00:00", + "2024-09-17 11:00:00", + "2024-09-17 12:00:00", + "2024-09-17 13:00:00", + "2024-09-17 14:00:00", + "2024-09-17 15:00:00", + "2024-09-17 16:00:00", + "2024-09-17 17:00:00", + "2024-09-17 18:00:00", + "2024-09-17 19:00:00", + "2024-09-17 20:00:00", + "2024-09-17 21:00:00", + "2024-09-17 22:00:00", + "2024-09-17 23:00:00", + "2024-09-18 00:00:00", + "2024-09-18 01:00:00", + "2024-09-18 02:00:00", + "2024-09-18 03:00:00", + "2024-09-18 04:00:00", + "2024-09-18 05:00:00", + "2024-09-18 06:00:00", + "2024-09-18 07:00:00", + "2024-09-18 08:00:00", + "2024-09-18 09:00:00", + "2024-09-18 10:00:00", + "2024-09-18 11:00:00", + "2024-09-18 12:00:00", + "2024-09-18 13:00:00", + "2024-09-18 14:00:00", + "2024-09-18 15:00:00", + "2024-09-18 16:00:00", + "2024-09-18 17:00:00", + "2024-09-18 18:00:00", + "2024-09-18 19:00:00", + "2024-09-18 20:00:00", + "2024-09-18 21:00:00", + "2024-09-18 22:00:00", + "2024-09-18 23:00:00", + "2024-09-19 00:00:00", + "2024-09-19 01:00:00", + "2024-09-19 02:00:00" + ], + "count": 8.0, + "label": "$pageview", + "filter": { + "insight": "TRENDS", + "properties": [], + "filter_test_accounts": false, + "date_to": "2024-09-19T02:59:59.999999Z", + "date_from": "2024-09-12T00:00:00Z", + "entity_type": "events", + "interval": "hour", + "aggregationAxisFormat": "numeric", + "display": "ActionsLineGraph", + "showLegend": false, + "showPercentStackView": false, + "showValuesOnSeries": false, + "smoothingIntervals": 1 + }, + "action": { + "days": [ + "2024-09-12T00:00:00Z", + "2024-09-12T01:00:00Z", + "2024-09-12T02:00:00Z", + "2024-09-12T03:00:00Z", + "2024-09-12T04:00:00Z", + "2024-09-12T05:00:00Z", + "2024-09-12T06:00:00Z", + "2024-09-12T07:00:00Z", + "2024-09-12T08:00:00Z", + "2024-09-12T09:00:00Z", + "2024-09-12T10:00:00Z", + "2024-09-12T11:00:00Z", + "2024-09-12T12:00:00Z", + "2024-09-12T13:00:00Z", + "2024-09-12T14:00:00Z", + "2024-09-12T15:00:00Z", + "2024-09-12T16:00:00Z", + "2024-09-12T17:00:00Z", + "2024-09-12T18:00:00Z", + "2024-09-12T19:00:00Z", + "2024-09-12T20:00:00Z", + "2024-09-12T21:00:00Z", + "2024-09-12T22:00:00Z", + "2024-09-12T23:00:00Z", + "2024-09-13T00:00:00Z", + "2024-09-13T01:00:00Z", + "2024-09-13T02:00:00Z", + "2024-09-13T03:00:00Z", + "2024-09-13T04:00:00Z", + "2024-09-13T05:00:00Z", + "2024-09-13T06:00:00Z", + "2024-09-13T07:00:00Z", + "2024-09-13T08:00:00Z", + "2024-09-13T09:00:00Z", + "2024-09-13T10:00:00Z", + "2024-09-13T11:00:00Z", + "2024-09-13T12:00:00Z", + "2024-09-13T13:00:00Z", + "2024-09-13T14:00:00Z", + "2024-09-13T15:00:00Z", + "2024-09-13T16:00:00Z", + "2024-09-13T17:00:00Z", + "2024-09-13T18:00:00Z", + "2024-09-13T19:00:00Z", + "2024-09-13T20:00:00Z", + "2024-09-13T21:00:00Z", + "2024-09-13T22:00:00Z", + "2024-09-13T23:00:00Z", + "2024-09-14T00:00:00Z", + "2024-09-14T01:00:00Z", + "2024-09-14T02:00:00Z", + "2024-09-14T03:00:00Z", + "2024-09-14T04:00:00Z", + "2024-09-14T05:00:00Z", + "2024-09-14T06:00:00Z", + "2024-09-14T07:00:00Z", + "2024-09-14T08:00:00Z", + "2024-09-14T09:00:00Z", + "2024-09-14T10:00:00Z", + "2024-09-14T11:00:00Z", + "2024-09-14T12:00:00Z", + "2024-09-14T13:00:00Z", + "2024-09-14T14:00:00Z", + "2024-09-14T15:00:00Z", + "2024-09-14T16:00:00Z", + "2024-09-14T17:00:00Z", + "2024-09-14T18:00:00Z", + "2024-09-14T19:00:00Z", + "2024-09-14T20:00:00Z", + "2024-09-14T21:00:00Z", + "2024-09-14T22:00:00Z", + "2024-09-14T23:00:00Z", + "2024-09-15T00:00:00Z", + "2024-09-15T01:00:00Z", + "2024-09-15T02:00:00Z", + "2024-09-15T03:00:00Z", + "2024-09-15T04:00:00Z", + "2024-09-15T05:00:00Z", + "2024-09-15T06:00:00Z", + "2024-09-15T07:00:00Z", + "2024-09-15T08:00:00Z", + "2024-09-15T09:00:00Z", + "2024-09-15T10:00:00Z", + "2024-09-15T11:00:00Z", + "2024-09-15T12:00:00Z", + "2024-09-15T13:00:00Z", + "2024-09-15T14:00:00Z", + "2024-09-15T15:00:00Z", + "2024-09-15T16:00:00Z", + "2024-09-15T17:00:00Z", + "2024-09-15T18:00:00Z", + "2024-09-15T19:00:00Z", + "2024-09-15T20:00:00Z", + "2024-09-15T21:00:00Z", + "2024-09-15T22:00:00Z", + "2024-09-15T23:00:00Z", + "2024-09-16T00:00:00Z", + "2024-09-16T01:00:00Z", + "2024-09-16T02:00:00Z", + "2024-09-16T03:00:00Z", + "2024-09-16T04:00:00Z", + "2024-09-16T05:00:00Z", + "2024-09-16T06:00:00Z", + "2024-09-16T07:00:00Z", + "2024-09-16T08:00:00Z", + "2024-09-16T09:00:00Z", + "2024-09-16T10:00:00Z", + "2024-09-16T11:00:00Z", + "2024-09-16T12:00:00Z", + "2024-09-16T13:00:00Z", + "2024-09-16T14:00:00Z", + "2024-09-16T15:00:00Z", + "2024-09-16T16:00:00Z", + "2024-09-16T17:00:00Z", + "2024-09-16T18:00:00Z", + "2024-09-16T19:00:00Z", + "2024-09-16T20:00:00Z", + "2024-09-16T21:00:00Z", + "2024-09-16T22:00:00Z", + "2024-09-16T23:00:00Z", + "2024-09-17T00:00:00Z", + "2024-09-17T01:00:00Z", + "2024-09-17T02:00:00Z", + "2024-09-17T03:00:00Z", + "2024-09-17T04:00:00Z", + "2024-09-17T05:00:00Z", + "2024-09-17T06:00:00Z", + "2024-09-17T07:00:00Z", + "2024-09-17T08:00:00Z", + "2024-09-17T09:00:00Z", + "2024-09-17T10:00:00Z", + "2024-09-17T11:00:00Z", + "2024-09-17T12:00:00Z", + "2024-09-17T13:00:00Z", + "2024-09-17T14:00:00Z", + "2024-09-17T15:00:00Z", + "2024-09-17T16:00:00Z", + "2024-09-17T17:00:00Z", + "2024-09-17T18:00:00Z", + "2024-09-17T19:00:00Z", + "2024-09-17T20:00:00Z", + "2024-09-17T21:00:00Z", + "2024-09-17T22:00:00Z", + "2024-09-17T23:00:00Z", + "2024-09-18T00:00:00Z", + "2024-09-18T01:00:00Z", + "2024-09-18T02:00:00Z", + "2024-09-18T03:00:00Z", + "2024-09-18T04:00:00Z", + "2024-09-18T05:00:00Z", + "2024-09-18T06:00:00Z", + "2024-09-18T07:00:00Z", + "2024-09-18T08:00:00Z", + "2024-09-18T09:00:00Z", + "2024-09-18T10:00:00Z", + "2024-09-18T11:00:00Z", + "2024-09-18T12:00:00Z", + "2024-09-18T13:00:00Z", + "2024-09-18T14:00:00Z", + "2024-09-18T15:00:00Z", + "2024-09-18T16:00:00Z", + "2024-09-18T17:00:00Z", + "2024-09-18T18:00:00Z", + "2024-09-18T19:00:00Z", + "2024-09-18T20:00:00Z", + "2024-09-18T21:00:00Z", + "2024-09-18T22:00:00Z", + "2024-09-18T23:00:00Z", + "2024-09-19T00:00:00Z", + "2024-09-19T01:00:00Z", + "2024-09-19T02:00:00Z" + ], + "id": "$pageview", + "type": "events", + "order": 0, + "name": "$pageview", + "custom_name": "Unique visitors", + "math": "dau", + "math_property": null, + "math_hogql": null, + "math_group_type_index": null, + "properties": {} + }, + "compare": true, + "compare_label": "current" + }, + { + "data": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "labels": [ + "hour 0", + "hour 1", + "hour 2", + "hour 3", + "hour 4", + "hour 5", + "hour 6", + "hour 7", + "hour 8", + "hour 9", + "hour 10", + "hour 11", + "hour 12", + "hour 13", + "hour 14", + "hour 15", + "hour 16", + "hour 17", + "hour 18", + "hour 19", + "hour 20", + "hour 21", + "hour 22", + "hour 23", + "hour 24", + "hour 25", + "hour 26", + "hour 27", + "hour 28", + "hour 29", + "hour 30", + "hour 31", + "hour 32", + "hour 33", + "hour 34", + "hour 35", + "hour 36", + "hour 37", + "hour 38", + "hour 39", + "hour 40", + "hour 41", + "hour 42", + "hour 43", + "hour 44", + "hour 45", + "hour 46", + "hour 47", + "hour 48", + "hour 49", + "hour 50", + "hour 51", + "hour 52", + "hour 53", + "hour 54", + "hour 55", + "hour 56", + "hour 57", + "hour 58", + "hour 59", + "hour 60", + "hour 61", + "hour 62", + "hour 63", + "hour 64", + "hour 65", + "hour 66", + "hour 67", + "hour 68", + "hour 69", + "hour 70", + "hour 71", + "hour 72", + "hour 73", + "hour 74", + "hour 75", + "hour 76", + "hour 77", + "hour 78", + "hour 79", + "hour 80", + "hour 81", + "hour 82", + "hour 83", + "hour 84", + "hour 85", + "hour 86", + "hour 87", + "hour 88", + "hour 89", + "hour 90", + "hour 91", + "hour 92", + "hour 93", + "hour 94", + "hour 95", + "hour 96", + "hour 97", + "hour 98", + "hour 99", + "hour 100", + "hour 101", + "hour 102", + "hour 103", + "hour 104", + "hour 105", + "hour 106", + "hour 107", + "hour 108", + "hour 109", + "hour 110", + "hour 111", + "hour 112", + "hour 113", + "hour 114", + "hour 115", + "hour 116", + "hour 117", + "hour 118", + "hour 119", + "hour 120", + "hour 121", + "hour 122", + "hour 123", + "hour 124", + "hour 125", + "hour 126", + "hour 127", + "hour 128", + "hour 129", + "hour 130", + "hour 131", + "hour 132", + "hour 133", + "hour 134", + "hour 135", + "hour 136", + "hour 137", + "hour 138", + "hour 139", + "hour 140", + "hour 141", + "hour 142", + "hour 143", + "hour 144", + "hour 145", + "hour 146", + "hour 147", + "hour 148", + "hour 149", + "hour 150", + "hour 151", + "hour 152", + "hour 153", + "hour 154", + "hour 155", + "hour 156", + "hour 157", + "hour 158", + "hour 159", + "hour 160", + "hour 161", + "hour 162", + "hour 163", + "hour 164", + "hour 165", + "hour 166", + "hour 167", + "hour 168", + "hour 169", + "hour 170" + ], + "days": [ + "2024-09-04 00:00:00", + "2024-09-04 01:00:00", + "2024-09-04 02:00:00", + "2024-09-04 03:00:00", + "2024-09-04 04:00:00", + "2024-09-04 05:00:00", + "2024-09-04 06:00:00", + "2024-09-04 07:00:00", + "2024-09-04 08:00:00", + "2024-09-04 09:00:00", + "2024-09-04 10:00:00", + "2024-09-04 11:00:00", + "2024-09-04 12:00:00", + "2024-09-04 13:00:00", + "2024-09-04 14:00:00", + "2024-09-04 15:00:00", + "2024-09-04 16:00:00", + "2024-09-04 17:00:00", + "2024-09-04 18:00:00", + "2024-09-04 19:00:00", + "2024-09-04 20:00:00", + "2024-09-04 21:00:00", + "2024-09-04 22:00:00", + "2024-09-04 23:00:00", + "2024-09-05 00:00:00", + "2024-09-05 01:00:00", + "2024-09-05 02:00:00", + "2024-09-05 03:00:00", + "2024-09-05 04:00:00", + "2024-09-05 05:00:00", + "2024-09-05 06:00:00", + "2024-09-05 07:00:00", + "2024-09-05 08:00:00", + "2024-09-05 09:00:00", + "2024-09-05 10:00:00", + "2024-09-05 11:00:00", + "2024-09-05 12:00:00", + "2024-09-05 13:00:00", + "2024-09-05 14:00:00", + "2024-09-05 15:00:00", + "2024-09-05 16:00:00", + "2024-09-05 17:00:00", + "2024-09-05 18:00:00", + "2024-09-05 19:00:00", + "2024-09-05 20:00:00", + "2024-09-05 21:00:00", + "2024-09-05 22:00:00", + "2024-09-05 23:00:00", + "2024-09-06 00:00:00", + "2024-09-06 01:00:00", + "2024-09-06 02:00:00", + "2024-09-06 03:00:00", + "2024-09-06 04:00:00", + "2024-09-06 05:00:00", + "2024-09-06 06:00:00", + "2024-09-06 07:00:00", + "2024-09-06 08:00:00", + "2024-09-06 09:00:00", + "2024-09-06 10:00:00", + "2024-09-06 11:00:00", + "2024-09-06 12:00:00", + "2024-09-06 13:00:00", + "2024-09-06 14:00:00", + "2024-09-06 15:00:00", + "2024-09-06 16:00:00", + "2024-09-06 17:00:00", + "2024-09-06 18:00:00", + "2024-09-06 19:00:00", + "2024-09-06 20:00:00", + "2024-09-06 21:00:00", + "2024-09-06 22:00:00", + "2024-09-06 23:00:00", + "2024-09-07 00:00:00", + "2024-09-07 01:00:00", + "2024-09-07 02:00:00", + "2024-09-07 03:00:00", + "2024-09-07 04:00:00", + "2024-09-07 05:00:00", + "2024-09-07 06:00:00", + "2024-09-07 07:00:00", + "2024-09-07 08:00:00", + "2024-09-07 09:00:00", + "2024-09-07 10:00:00", + "2024-09-07 11:00:00", + "2024-09-07 12:00:00", + "2024-09-07 13:00:00", + "2024-09-07 14:00:00", + "2024-09-07 15:00:00", + "2024-09-07 16:00:00", + "2024-09-07 17:00:00", + "2024-09-07 18:00:00", + "2024-09-07 19:00:00", + "2024-09-07 20:00:00", + "2024-09-07 21:00:00", + "2024-09-07 22:00:00", + "2024-09-07 23:00:00", + "2024-09-08 00:00:00", + "2024-09-08 01:00:00", + "2024-09-08 02:00:00", + "2024-09-08 03:00:00", + "2024-09-08 04:00:00", + "2024-09-08 05:00:00", + "2024-09-08 06:00:00", + "2024-09-08 07:00:00", + "2024-09-08 08:00:00", + "2024-09-08 09:00:00", + "2024-09-08 10:00:00", + "2024-09-08 11:00:00", + "2024-09-08 12:00:00", + "2024-09-08 13:00:00", + "2024-09-08 14:00:00", + "2024-09-08 15:00:00", + "2024-09-08 16:00:00", + "2024-09-08 17:00:00", + "2024-09-08 18:00:00", + "2024-09-08 19:00:00", + "2024-09-08 20:00:00", + "2024-09-08 21:00:00", + "2024-09-08 22:00:00", + "2024-09-08 23:00:00", + "2024-09-09 00:00:00", + "2024-09-09 01:00:00", + "2024-09-09 02:00:00", + "2024-09-09 03:00:00", + "2024-09-09 04:00:00", + "2024-09-09 05:00:00", + "2024-09-09 06:00:00", + "2024-09-09 07:00:00", + "2024-09-09 08:00:00", + "2024-09-09 09:00:00", + "2024-09-09 10:00:00", + "2024-09-09 11:00:00", + "2024-09-09 12:00:00", + "2024-09-09 13:00:00", + "2024-09-09 14:00:00", + "2024-09-09 15:00:00", + "2024-09-09 16:00:00", + "2024-09-09 17:00:00", + "2024-09-09 18:00:00", + "2024-09-09 19:00:00", + "2024-09-09 20:00:00", + "2024-09-09 21:00:00", + "2024-09-09 22:00:00", + "2024-09-09 23:00:00", + "2024-09-10 00:00:00", + "2024-09-10 01:00:00", + "2024-09-10 02:00:00", + "2024-09-10 03:00:00", + "2024-09-10 04:00:00", + "2024-09-10 05:00:00", + "2024-09-10 06:00:00", + "2024-09-10 07:00:00", + "2024-09-10 08:00:00", + "2024-09-10 09:00:00", + "2024-09-10 10:00:00", + "2024-09-10 11:00:00", + "2024-09-10 12:00:00", + "2024-09-10 13:00:00", + "2024-09-10 14:00:00", + "2024-09-10 15:00:00", + "2024-09-10 16:00:00", + "2024-09-10 17:00:00", + "2024-09-10 18:00:00", + "2024-09-10 19:00:00", + "2024-09-10 20:00:00", + "2024-09-10 21:00:00", + "2024-09-10 22:00:00", + "2024-09-10 23:00:00", + "2024-09-11 00:00:00", + "2024-09-11 01:00:00", + "2024-09-11 02:00:00" + ], + "count": 0.0, + "label": "$pageview", + "filter": { + "insight": "TRENDS", + "properties": [], + "filter_test_accounts": false, + "date_to": "2024-09-19T02:59:59.999999Z", + "date_from": "2024-09-12T00:00:00Z", + "entity_type": "events", + "interval": "hour", + "aggregationAxisFormat": "numeric", + "display": "ActionsLineGraph", + "showLegend": false, + "showPercentStackView": false, + "showValuesOnSeries": false, + "smoothingIntervals": 1 + }, + "action": { + "days": [ + "2024-09-12T00:00:00Z", + "2024-09-12T01:00:00Z", + "2024-09-12T02:00:00Z", + "2024-09-12T03:00:00Z", + "2024-09-12T04:00:00Z", + "2024-09-12T05:00:00Z", + "2024-09-12T06:00:00Z", + "2024-09-12T07:00:00Z", + "2024-09-12T08:00:00Z", + "2024-09-12T09:00:00Z", + "2024-09-12T10:00:00Z", + "2024-09-12T11:00:00Z", + "2024-09-12T12:00:00Z", + "2024-09-12T13:00:00Z", + "2024-09-12T14:00:00Z", + "2024-09-12T15:00:00Z", + "2024-09-12T16:00:00Z", + "2024-09-12T17:00:00Z", + "2024-09-12T18:00:00Z", + "2024-09-12T19:00:00Z", + "2024-09-12T20:00:00Z", + "2024-09-12T21:00:00Z", + "2024-09-12T22:00:00Z", + "2024-09-12T23:00:00Z", + "2024-09-13T00:00:00Z", + "2024-09-13T01:00:00Z", + "2024-09-13T02:00:00Z", + "2024-09-13T03:00:00Z", + "2024-09-13T04:00:00Z", + "2024-09-13T05:00:00Z", + "2024-09-13T06:00:00Z", + "2024-09-13T07:00:00Z", + "2024-09-13T08:00:00Z", + "2024-09-13T09:00:00Z", + "2024-09-13T10:00:00Z", + "2024-09-13T11:00:00Z", + "2024-09-13T12:00:00Z", + "2024-09-13T13:00:00Z", + "2024-09-13T14:00:00Z", + "2024-09-13T15:00:00Z", + "2024-09-13T16:00:00Z", + "2024-09-13T17:00:00Z", + "2024-09-13T18:00:00Z", + "2024-09-13T19:00:00Z", + "2024-09-13T20:00:00Z", + "2024-09-13T21:00:00Z", + "2024-09-13T22:00:00Z", + "2024-09-13T23:00:00Z", + "2024-09-14T00:00:00Z", + "2024-09-14T01:00:00Z", + "2024-09-14T02:00:00Z", + "2024-09-14T03:00:00Z", + "2024-09-14T04:00:00Z", + "2024-09-14T05:00:00Z", + "2024-09-14T06:00:00Z", + "2024-09-14T07:00:00Z", + "2024-09-14T08:00:00Z", + "2024-09-14T09:00:00Z", + "2024-09-14T10:00:00Z", + "2024-09-14T11:00:00Z", + "2024-09-14T12:00:00Z", + "2024-09-14T13:00:00Z", + "2024-09-14T14:00:00Z", + "2024-09-14T15:00:00Z", + "2024-09-14T16:00:00Z", + "2024-09-14T17:00:00Z", + "2024-09-14T18:00:00Z", + "2024-09-14T19:00:00Z", + "2024-09-14T20:00:00Z", + "2024-09-14T21:00:00Z", + "2024-09-14T22:00:00Z", + "2024-09-14T23:00:00Z", + "2024-09-15T00:00:00Z", + "2024-09-15T01:00:00Z", + "2024-09-15T02:00:00Z", + "2024-09-15T03:00:00Z", + "2024-09-15T04:00:00Z", + "2024-09-15T05:00:00Z", + "2024-09-15T06:00:00Z", + "2024-09-15T07:00:00Z", + "2024-09-15T08:00:00Z", + "2024-09-15T09:00:00Z", + "2024-09-15T10:00:00Z", + "2024-09-15T11:00:00Z", + "2024-09-15T12:00:00Z", + "2024-09-15T13:00:00Z", + "2024-09-15T14:00:00Z", + "2024-09-15T15:00:00Z", + "2024-09-15T16:00:00Z", + "2024-09-15T17:00:00Z", + "2024-09-15T18:00:00Z", + "2024-09-15T19:00:00Z", + "2024-09-15T20:00:00Z", + "2024-09-15T21:00:00Z", + "2024-09-15T22:00:00Z", + "2024-09-15T23:00:00Z", + "2024-09-16T00:00:00Z", + "2024-09-16T01:00:00Z", + "2024-09-16T02:00:00Z", + "2024-09-16T03:00:00Z", + "2024-09-16T04:00:00Z", + "2024-09-16T05:00:00Z", + "2024-09-16T06:00:00Z", + "2024-09-16T07:00:00Z", + "2024-09-16T08:00:00Z", + "2024-09-16T09:00:00Z", + "2024-09-16T10:00:00Z", + "2024-09-16T11:00:00Z", + "2024-09-16T12:00:00Z", + "2024-09-16T13:00:00Z", + "2024-09-16T14:00:00Z", + "2024-09-16T15:00:00Z", + "2024-09-16T16:00:00Z", + "2024-09-16T17:00:00Z", + "2024-09-16T18:00:00Z", + "2024-09-16T19:00:00Z", + "2024-09-16T20:00:00Z", + "2024-09-16T21:00:00Z", + "2024-09-16T22:00:00Z", + "2024-09-16T23:00:00Z", + "2024-09-17T00:00:00Z", + "2024-09-17T01:00:00Z", + "2024-09-17T02:00:00Z", + "2024-09-17T03:00:00Z", + "2024-09-17T04:00:00Z", + "2024-09-17T05:00:00Z", + "2024-09-17T06:00:00Z", + "2024-09-17T07:00:00Z", + "2024-09-17T08:00:00Z", + "2024-09-17T09:00:00Z", + "2024-09-17T10:00:00Z", + "2024-09-17T11:00:00Z", + "2024-09-17T12:00:00Z", + "2024-09-17T13:00:00Z", + "2024-09-17T14:00:00Z", + "2024-09-17T15:00:00Z", + "2024-09-17T16:00:00Z", + "2024-09-17T17:00:00Z", + "2024-09-17T18:00:00Z", + "2024-09-17T19:00:00Z", + "2024-09-17T20:00:00Z", + "2024-09-17T21:00:00Z", + "2024-09-17T22:00:00Z", + "2024-09-17T23:00:00Z", + "2024-09-18T00:00:00Z", + "2024-09-18T01:00:00Z", + "2024-09-18T02:00:00Z", + "2024-09-18T03:00:00Z", + "2024-09-18T04:00:00Z", + "2024-09-18T05:00:00Z", + "2024-09-18T06:00:00Z", + "2024-09-18T07:00:00Z", + "2024-09-18T08:00:00Z", + "2024-09-18T09:00:00Z", + "2024-09-18T10:00:00Z", + "2024-09-18T11:00:00Z", + "2024-09-18T12:00:00Z", + "2024-09-18T13:00:00Z", + "2024-09-18T14:00:00Z", + "2024-09-18T15:00:00Z", + "2024-09-18T16:00:00Z", + "2024-09-18T17:00:00Z", + "2024-09-18T18:00:00Z", + "2024-09-18T19:00:00Z", + "2024-09-18T20:00:00Z", + "2024-09-18T21:00:00Z", + "2024-09-18T22:00:00Z", + "2024-09-18T23:00:00Z", + "2024-09-19T00:00:00Z", + "2024-09-19T01:00:00Z", + "2024-09-19T02:00:00Z" + ], + "id": "$pageview", + "type": "events", + "order": 0, + "name": "$pageview", + "custom_name": "Unique visitors", + "math": "dau", + "math_property": null, + "math_hogql": null, + "math_group_type_index": null, + "properties": {} + }, + "compare": true, + "compare_label": "previous" + } + ], + "timezone": "UTC", + "timings": [ + { + "k": "./trends_to_query", + "t": 1.095607041999756 + }, + { + "k": "./printing_hogql_for_response", + "t": 6.581223832999967 + }, + { + "k": "./execute_queries/series_0/query", + "t": 0.0008503749995725229 + }, + { + "k": "./execute_queries/series_0/replace_placeholders", + "t": 0.0035507080028764904 + }, + { + "k": "./execute_queries/series_0/max_limit", + "t": 0.000952750000578817 + }, + { + "k": "./execute_queries/series_0/hogql/prepare_ast/clone", + "t": 0.0007932080006867182 + }, + { + "k": "./execute_queries/series_0/hogql/prepare_ast/create_hogql_database", + "t": 12.843750916999852 + }, + { + "k": "./execute_queries/series_0/hogql/prepare_ast/resolve_types", + "t": 0.0032726669996918645 + }, + { + "k": "./execute_queries/series_0/hogql/prepare_ast", + "t": 12.859604291999858 + }, + { + "k": "./execute_queries/series_0/hogql/print_ast/printer", + "t": 0.0010711670001910534 + }, + { + "k": "./execute_queries/series_0/hogql/print_ast", + "t": 0.0011349170017638244 + }, + { + "k": "./execute_queries/series_0/hogql", + "t": 12.860794416999852 + }, + { + "k": "./execute_queries/series_0/print_ast/create_hogql_database", + "t": 0.35088920799898915 + }, + { + "k": "./execute_queries/series_0/print_ast/resolve_types", + "t": 0.0006111660004535224 + }, + { + "k": "./execute_queries/series_0/print_ast/resolve_property_types", + "t": 0.0003671670019684825 + }, + { + "k": "./execute_queries/series_0/print_ast/resolve_lazy_tables", + "t": 0.001858374998846557 + }, + { + "k": "./execute_queries/series_0/print_ast/swap_properties", + "t": 0.0002488329992047511 + }, + { + "k": "./execute_queries/series_0/print_ast/printer", + "t": 0.002659333000337938 + }, + { + "k": "./execute_queries/series_0/print_ast", + "t": 0.35695399999895017 + }, + { + "k": "./execute_queries/series_0/clickhouse_execute", + "t": 1.5722905829970841 + }, + { + "k": "./execute_queries/series_0", + "t": 14.799704124998243 + }, + { + "k": "./execute_queries/series_1/query", + "t": 0.001348041001620004 + }, + { + "k": "./execute_queries/series_1/replace_placeholders", + "t": 0.001282958997762762 + }, + { + "k": "./execute_queries/series_1/max_limit", + "t": 0.00009666599726187997 + }, + { + "k": "./execute_queries/series_1/hogql/prepare_ast/clone", + "t": 0.0008869160010362975 + }, + { + "k": "./execute_queries/series_1/hogql/prepare_ast/create_hogql_database", + "t": 12.876483374999225 + }, + { + "k": "./execute_queries/series_1/hogql/prepare_ast/resolve_types", + "t": 0.15881883400288643 + }, + { + "k": "./execute_queries/series_1/hogql/prepare_ast", + "t": 13.036922791998222 + }, + { + "k": "./execute_queries/series_1/hogql/print_ast/printer", + "t": 0.00038883300294401124 + }, + { + "k": "./execute_queries/series_1/hogql/print_ast", + "t": 0.00043229199945926666 + }, + { + "k": "./execute_queries/series_1/hogql", + "t": 13.037494625001273 + }, + { + "k": "./execute_queries/series_1/print_ast/create_hogql_database", + "t": 0.16504241700022249 + }, + { + "k": "./execute_queries/series_1/print_ast/resolve_types", + "t": 0.0012998329984839074 + }, + { + "k": "./execute_queries/series_1/print_ast/resolve_property_types", + "t": 0.0005558750017371494 + }, + { + "k": "./execute_queries/series_1/print_ast/resolve_lazy_tables", + "t": 0.001477417001296999 + }, + { + "k": "./execute_queries/series_1/print_ast/swap_properties", + "t": 0.00033350000012433156 + }, + { + "k": "./execute_queries/series_1/print_ast/printer", + "t": 0.0011672500004351605 + }, + { + "k": "./execute_queries/series_1/print_ast", + "t": 0.17001266700026463 + }, + { + "k": "./execute_queries/series_1/clickhouse_execute", + "t": 1.3798964159977913 + }, + { + "k": "./execute_queries/series_1", + "t": 14.600122542000463 + }, + { + "k": "./execute_queries", + "t": 14.80186520800271 + }, + { + "k": ".", + "t": 23.41148125000109 + } + ] +} diff --git a/frontend/src/scenes/web-analytics/response1.json b/frontend/src/scenes/web-analytics/response1.json new file mode 100644 index 0000000000000..0764c538e6d9d --- /dev/null +++ b/frontend/src/scenes/web-analytics/response1.json @@ -0,0 +1,1681 @@ +{ + "cache_key": "cache_5fe584012c8ea8796807077c6e7bdf7f", + "cache_target_age": "2024-09-19T07:02:52.504161Z", + "calculation_trigger": null, + "error": "", + "hasMore": false, + "hogql": "SELECT\n arrayMap(number -> plus(toStartOfHour(assumeNotNull(toDateTime('2024-09-12 00:00:00'))), toIntervalHour(number)), range(0, plus(coalesce(dateDiff('hour', toStartOfHour(assumeNotNull(toDateTime('2024-09-12 00:00:00'))), toStartOfHour(assumeNotNull(toDateTime('2024-09-19 06:59:59'))))), 1))) AS date,\n arrayMap(_match_date -> arraySum(arraySlice(groupArray(count), indexOf(groupArray(day_start) AS _days_for_count, _match_date) AS _index, plus(minus(arrayLastIndex(x -> equals(x, _match_date), _days_for_count), _index), 1))), date) AS total\nFROM\n (SELECT\n sum(total) AS count,\n day_start\n FROM\n (SELECT\n count(DISTINCT e.person_id) AS total,\n toStartOfHour(timestamp) AS day_start\n FROM\n events AS e SAMPLE 1\n WHERE\n and(greaterOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-12 00:00:00'))), lessOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-19 06:59:59'))), equals(event, '$pageview'))\n GROUP BY\n day_start)\n GROUP BY\n day_start\n ORDER BY\n day_start ASC)\nORDER BY\n arraySum(total) DESC\nLIMIT 50000\nUNION ALL\nSELECT\n arrayMap(number -> plus(toStartOfHour(assumeNotNull(toDateTime('2024-09-04 00:00:00'))), toIntervalHour(number)), range(0, plus(coalesce(dateDiff('hour', toStartOfHour(assumeNotNull(toDateTime('2024-09-04 00:00:00'))), toStartOfHour(assumeNotNull(toDateTime('2024-09-11 06:59:59'))))), 1))) AS date,\n arrayMap(_match_date -> arraySum(arraySlice(groupArray(count), indexOf(groupArray(day_start) AS _days_for_count, _match_date) AS _index, plus(minus(arrayLastIndex(x -> equals(x, _match_date), _days_for_count), _index), 1))), date) AS total\nFROM\n (SELECT\n sum(total) AS count,\n day_start\n FROM\n (SELECT\n count(DISTINCT e.person_id) AS total,\n toStartOfHour(timestamp) AS day_start\n FROM\n events AS e SAMPLE 1\n WHERE\n and(greaterOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-04 00:00:00'))), lessOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-11 06:59:59'))), equals(event, '$pageview'))\n GROUP BY\n day_start)\n GROUP BY\n day_start\n ORDER BY\n day_start ASC)\nORDER BY\n arraySum(total) DESC\nLIMIT 50000", + "is_cached": true, + "last_refresh": "2024-09-19T06:47:52.504161Z", + "modifiers": { + "bounceRatePageViewMode": "count_pageviews", + "dataWarehouseEventsModifiers": [], + "debug": null, + "inCohortVia": "auto", + "materializationMode": "legacy_null_as_null", + "optimizeJoinedFilters": false, + "personsArgMaxVersion": "auto", + "personsJoinMode": null, + "personsOnEventsMode": "person_id_override_properties_joined", + "propertyGroupsMode": null, + "s3TableUseInvalidColumns": null, + "sessionTableVersion": "auto" + }, + "next_allowed_client_refresh": "2024-09-19T06:50:52.504161Z", + "query_status": null, + "results": [ + { + "data": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0 + ], + "labels": [ + "hour 0", + "hour 1", + "hour 2", + "hour 3", + "hour 4", + "hour 5", + "hour 6", + "hour 7", + "hour 8", + "hour 9", + "hour 10", + "hour 11", + "hour 12", + "hour 13", + "hour 14", + "hour 15", + "hour 16", + "hour 17", + "hour 18", + "hour 19", + "hour 20", + "hour 21", + "hour 22", + "hour 23", + "hour 24", + "hour 25", + "hour 26", + "hour 27", + "hour 28", + "hour 29", + "hour 30", + "hour 31", + "hour 32", + "hour 33", + "hour 34", + "hour 35", + "hour 36", + "hour 37", + "hour 38", + "hour 39", + "hour 40", + "hour 41", + "hour 42", + "hour 43", + "hour 44", + "hour 45", + "hour 46", + "hour 47", + "hour 48", + "hour 49", + "hour 50", + "hour 51", + "hour 52", + "hour 53", + "hour 54", + "hour 55", + "hour 56", + "hour 57", + "hour 58", + "hour 59", + "hour 60", + "hour 61", + "hour 62", + "hour 63", + "hour 64", + "hour 65", + "hour 66", + "hour 67", + "hour 68", + "hour 69", + "hour 70", + "hour 71", + "hour 72", + "hour 73", + "hour 74", + "hour 75", + "hour 76", + "hour 77", + "hour 78", + "hour 79", + "hour 80", + "hour 81", + "hour 82", + "hour 83", + "hour 84", + "hour 85", + "hour 86", + "hour 87", + "hour 88", + "hour 89", + "hour 90", + "hour 91", + "hour 92", + "hour 93", + "hour 94", + "hour 95", + "hour 96", + "hour 97", + "hour 98", + "hour 99", + "hour 100", + "hour 101", + "hour 102", + "hour 103", + "hour 104", + "hour 105", + "hour 106", + "hour 107", + "hour 108", + "hour 109", + "hour 110", + "hour 111", + "hour 112", + "hour 113", + "hour 114", + "hour 115", + "hour 116", + "hour 117", + "hour 118", + "hour 119", + "hour 120", + "hour 121", + "hour 122", + "hour 123", + "hour 124", + "hour 125", + "hour 126", + "hour 127", + "hour 128", + "hour 129", + "hour 130", + "hour 131", + "hour 132", + "hour 133", + "hour 134", + "hour 135", + "hour 136", + "hour 137", + "hour 138", + "hour 139", + "hour 140", + "hour 141", + "hour 142", + "hour 143", + "hour 144", + "hour 145", + "hour 146", + "hour 147", + "hour 148", + "hour 149", + "hour 150", + "hour 151", + "hour 152", + "hour 153", + "hour 154", + "hour 155", + "hour 156", + "hour 157", + "hour 158", + "hour 159", + "hour 160", + "hour 161", + "hour 162", + "hour 163", + "hour 164", + "hour 165", + "hour 166", + "hour 167", + "hour 168", + "hour 169", + "hour 170", + "hour 171", + "hour 172", + "hour 173", + "hour 174" + ], + "days": [ + "2024-09-12 00:00:00", + "2024-09-12 01:00:00", + "2024-09-12 02:00:00", + "2024-09-12 03:00:00", + "2024-09-12 04:00:00", + "2024-09-12 05:00:00", + "2024-09-12 06:00:00", + "2024-09-12 07:00:00", + "2024-09-12 08:00:00", + "2024-09-12 09:00:00", + "2024-09-12 10:00:00", + "2024-09-12 11:00:00", + "2024-09-12 12:00:00", + "2024-09-12 13:00:00", + "2024-09-12 14:00:00", + "2024-09-12 15:00:00", + "2024-09-12 16:00:00", + "2024-09-12 17:00:00", + "2024-09-12 18:00:00", + "2024-09-12 19:00:00", + "2024-09-12 20:00:00", + "2024-09-12 21:00:00", + "2024-09-12 22:00:00", + "2024-09-12 23:00:00", + "2024-09-13 00:00:00", + "2024-09-13 01:00:00", + "2024-09-13 02:00:00", + "2024-09-13 03:00:00", + "2024-09-13 04:00:00", + "2024-09-13 05:00:00", + "2024-09-13 06:00:00", + "2024-09-13 07:00:00", + "2024-09-13 08:00:00", + "2024-09-13 09:00:00", + "2024-09-13 10:00:00", + "2024-09-13 11:00:00", + "2024-09-13 12:00:00", + "2024-09-13 13:00:00", + "2024-09-13 14:00:00", + "2024-09-13 15:00:00", + "2024-09-13 16:00:00", + "2024-09-13 17:00:00", + "2024-09-13 18:00:00", + "2024-09-13 19:00:00", + "2024-09-13 20:00:00", + "2024-09-13 21:00:00", + "2024-09-13 22:00:00", + "2024-09-13 23:00:00", + "2024-09-14 00:00:00", + "2024-09-14 01:00:00", + "2024-09-14 02:00:00", + "2024-09-14 03:00:00", + "2024-09-14 04:00:00", + "2024-09-14 05:00:00", + "2024-09-14 06:00:00", + "2024-09-14 07:00:00", + "2024-09-14 08:00:00", + "2024-09-14 09:00:00", + "2024-09-14 10:00:00", + "2024-09-14 11:00:00", + "2024-09-14 12:00:00", + "2024-09-14 13:00:00", + "2024-09-14 14:00:00", + "2024-09-14 15:00:00", + "2024-09-14 16:00:00", + "2024-09-14 17:00:00", + "2024-09-14 18:00:00", + "2024-09-14 19:00:00", + "2024-09-14 20:00:00", + "2024-09-14 21:00:00", + "2024-09-14 22:00:00", + "2024-09-14 23:00:00", + "2024-09-15 00:00:00", + "2024-09-15 01:00:00", + "2024-09-15 02:00:00", + "2024-09-15 03:00:00", + "2024-09-15 04:00:00", + "2024-09-15 05:00:00", + "2024-09-15 06:00:00", + "2024-09-15 07:00:00", + "2024-09-15 08:00:00", + "2024-09-15 09:00:00", + "2024-09-15 10:00:00", + "2024-09-15 11:00:00", + "2024-09-15 12:00:00", + "2024-09-15 13:00:00", + "2024-09-15 14:00:00", + "2024-09-15 15:00:00", + "2024-09-15 16:00:00", + "2024-09-15 17:00:00", + "2024-09-15 18:00:00", + "2024-09-15 19:00:00", + "2024-09-15 20:00:00", + "2024-09-15 21:00:00", + "2024-09-15 22:00:00", + "2024-09-15 23:00:00", + "2024-09-16 00:00:00", + "2024-09-16 01:00:00", + "2024-09-16 02:00:00", + "2024-09-16 03:00:00", + "2024-09-16 04:00:00", + "2024-09-16 05:00:00", + "2024-09-16 06:00:00", + "2024-09-16 07:00:00", + "2024-09-16 08:00:00", + "2024-09-16 09:00:00", + "2024-09-16 10:00:00", + "2024-09-16 11:00:00", + "2024-09-16 12:00:00", + "2024-09-16 13:00:00", + "2024-09-16 14:00:00", + "2024-09-16 15:00:00", + "2024-09-16 16:00:00", + "2024-09-16 17:00:00", + "2024-09-16 18:00:00", + "2024-09-16 19:00:00", + "2024-09-16 20:00:00", + "2024-09-16 21:00:00", + "2024-09-16 22:00:00", + "2024-09-16 23:00:00", + "2024-09-17 00:00:00", + "2024-09-17 01:00:00", + "2024-09-17 02:00:00", + "2024-09-17 03:00:00", + "2024-09-17 04:00:00", + "2024-09-17 05:00:00", + "2024-09-17 06:00:00", + "2024-09-17 07:00:00", + "2024-09-17 08:00:00", + "2024-09-17 09:00:00", + "2024-09-17 10:00:00", + "2024-09-17 11:00:00", + "2024-09-17 12:00:00", + "2024-09-17 13:00:00", + "2024-09-17 14:00:00", + "2024-09-17 15:00:00", + "2024-09-17 16:00:00", + "2024-09-17 17:00:00", + "2024-09-17 18:00:00", + "2024-09-17 19:00:00", + "2024-09-17 20:00:00", + "2024-09-17 21:00:00", + "2024-09-17 22:00:00", + "2024-09-17 23:00:00", + "2024-09-18 00:00:00", + "2024-09-18 01:00:00", + "2024-09-18 02:00:00", + "2024-09-18 03:00:00", + "2024-09-18 04:00:00", + "2024-09-18 05:00:00", + "2024-09-18 06:00:00", + "2024-09-18 07:00:00", + "2024-09-18 08:00:00", + "2024-09-18 09:00:00", + "2024-09-18 10:00:00", + "2024-09-18 11:00:00", + "2024-09-18 12:00:00", + "2024-09-18 13:00:00", + "2024-09-18 14:00:00", + "2024-09-18 15:00:00", + "2024-09-18 16:00:00", + "2024-09-18 17:00:00", + "2024-09-18 18:00:00", + "2024-09-18 19:00:00", + "2024-09-18 20:00:00", + "2024-09-18 21:00:00", + "2024-09-18 22:00:00", + "2024-09-18 23:00:00", + "2024-09-19 00:00:00", + "2024-09-19 01:00:00", + "2024-09-19 02:00:00", + "2024-09-19 03:00:00", + "2024-09-19 04:00:00", + "2024-09-19 05:00:00", + "2024-09-19 06:00:00" + ], + "count": 10.0, + "label": "$pageview", + "filter": { + "insight": "TRENDS", + "properties": [], + "filter_test_accounts": false, + "date_to": "2024-09-19T06:59:59.999999Z", + "date_from": "2024-09-12T00:00:00Z", + "entity_type": "events", + "interval": "hour", + "aggregationAxisFormat": "numeric", + "display": "ActionsLineGraph", + "showLegend": false, + "showPercentStackView": false, + "showValuesOnSeries": false, + "smoothingIntervals": 1 + }, + "action": { + "days": [ + "2024-09-12T00:00:00Z", + "2024-09-12T01:00:00Z", + "2024-09-12T02:00:00Z", + "2024-09-12T03:00:00Z", + "2024-09-12T04:00:00Z", + "2024-09-12T05:00:00Z", + "2024-09-12T06:00:00Z", + "2024-09-12T07:00:00Z", + "2024-09-12T08:00:00Z", + "2024-09-12T09:00:00Z", + "2024-09-12T10:00:00Z", + "2024-09-12T11:00:00Z", + "2024-09-12T12:00:00Z", + "2024-09-12T13:00:00Z", + "2024-09-12T14:00:00Z", + "2024-09-12T15:00:00Z", + "2024-09-12T16:00:00Z", + "2024-09-12T17:00:00Z", + "2024-09-12T18:00:00Z", + "2024-09-12T19:00:00Z", + "2024-09-12T20:00:00Z", + "2024-09-12T21:00:00Z", + "2024-09-12T22:00:00Z", + "2024-09-12T23:00:00Z", + "2024-09-13T00:00:00Z", + "2024-09-13T01:00:00Z", + "2024-09-13T02:00:00Z", + "2024-09-13T03:00:00Z", + "2024-09-13T04:00:00Z", + "2024-09-13T05:00:00Z", + "2024-09-13T06:00:00Z", + "2024-09-13T07:00:00Z", + "2024-09-13T08:00:00Z", + "2024-09-13T09:00:00Z", + "2024-09-13T10:00:00Z", + "2024-09-13T11:00:00Z", + "2024-09-13T12:00:00Z", + "2024-09-13T13:00:00Z", + "2024-09-13T14:00:00Z", + "2024-09-13T15:00:00Z", + "2024-09-13T16:00:00Z", + "2024-09-13T17:00:00Z", + "2024-09-13T18:00:00Z", + "2024-09-13T19:00:00Z", + "2024-09-13T20:00:00Z", + "2024-09-13T21:00:00Z", + "2024-09-13T22:00:00Z", + "2024-09-13T23:00:00Z", + "2024-09-14T00:00:00Z", + "2024-09-14T01:00:00Z", + "2024-09-14T02:00:00Z", + "2024-09-14T03:00:00Z", + "2024-09-14T04:00:00Z", + "2024-09-14T05:00:00Z", + "2024-09-14T06:00:00Z", + "2024-09-14T07:00:00Z", + "2024-09-14T08:00:00Z", + "2024-09-14T09:00:00Z", + "2024-09-14T10:00:00Z", + "2024-09-14T11:00:00Z", + "2024-09-14T12:00:00Z", + "2024-09-14T13:00:00Z", + "2024-09-14T14:00:00Z", + "2024-09-14T15:00:00Z", + "2024-09-14T16:00:00Z", + "2024-09-14T17:00:00Z", + "2024-09-14T18:00:00Z", + "2024-09-14T19:00:00Z", + "2024-09-14T20:00:00Z", + "2024-09-14T21:00:00Z", + "2024-09-14T22:00:00Z", + "2024-09-14T23:00:00Z", + "2024-09-15T00:00:00Z", + "2024-09-15T01:00:00Z", + "2024-09-15T02:00:00Z", + "2024-09-15T03:00:00Z", + "2024-09-15T04:00:00Z", + "2024-09-15T05:00:00Z", + "2024-09-15T06:00:00Z", + "2024-09-15T07:00:00Z", + "2024-09-15T08:00:00Z", + "2024-09-15T09:00:00Z", + "2024-09-15T10:00:00Z", + "2024-09-15T11:00:00Z", + "2024-09-15T12:00:00Z", + "2024-09-15T13:00:00Z", + "2024-09-15T14:00:00Z", + "2024-09-15T15:00:00Z", + "2024-09-15T16:00:00Z", + "2024-09-15T17:00:00Z", + "2024-09-15T18:00:00Z", + "2024-09-15T19:00:00Z", + "2024-09-15T20:00:00Z", + "2024-09-15T21:00:00Z", + "2024-09-15T22:00:00Z", + "2024-09-15T23:00:00Z", + "2024-09-16T00:00:00Z", + "2024-09-16T01:00:00Z", + "2024-09-16T02:00:00Z", + "2024-09-16T03:00:00Z", + "2024-09-16T04:00:00Z", + "2024-09-16T05:00:00Z", + "2024-09-16T06:00:00Z", + "2024-09-16T07:00:00Z", + "2024-09-16T08:00:00Z", + "2024-09-16T09:00:00Z", + "2024-09-16T10:00:00Z", + "2024-09-16T11:00:00Z", + "2024-09-16T12:00:00Z", + "2024-09-16T13:00:00Z", + "2024-09-16T14:00:00Z", + "2024-09-16T15:00:00Z", + "2024-09-16T16:00:00Z", + "2024-09-16T17:00:00Z", + "2024-09-16T18:00:00Z", + "2024-09-16T19:00:00Z", + "2024-09-16T20:00:00Z", + "2024-09-16T21:00:00Z", + "2024-09-16T22:00:00Z", + "2024-09-16T23:00:00Z", + "2024-09-17T00:00:00Z", + "2024-09-17T01:00:00Z", + "2024-09-17T02:00:00Z", + "2024-09-17T03:00:00Z", + "2024-09-17T04:00:00Z", + "2024-09-17T05:00:00Z", + "2024-09-17T06:00:00Z", + "2024-09-17T07:00:00Z", + "2024-09-17T08:00:00Z", + "2024-09-17T09:00:00Z", + "2024-09-17T10:00:00Z", + "2024-09-17T11:00:00Z", + "2024-09-17T12:00:00Z", + "2024-09-17T13:00:00Z", + "2024-09-17T14:00:00Z", + "2024-09-17T15:00:00Z", + "2024-09-17T16:00:00Z", + "2024-09-17T17:00:00Z", + "2024-09-17T18:00:00Z", + "2024-09-17T19:00:00Z", + "2024-09-17T20:00:00Z", + "2024-09-17T21:00:00Z", + "2024-09-17T22:00:00Z", + "2024-09-17T23:00:00Z", + "2024-09-18T00:00:00Z", + "2024-09-18T01:00:00Z", + "2024-09-18T02:00:00Z", + "2024-09-18T03:00:00Z", + "2024-09-18T04:00:00Z", + "2024-09-18T05:00:00Z", + "2024-09-18T06:00:00Z", + "2024-09-18T07:00:00Z", + "2024-09-18T08:00:00Z", + "2024-09-18T09:00:00Z", + "2024-09-18T10:00:00Z", + "2024-09-18T11:00:00Z", + "2024-09-18T12:00:00Z", + "2024-09-18T13:00:00Z", + "2024-09-18T14:00:00Z", + "2024-09-18T15:00:00Z", + "2024-09-18T16:00:00Z", + "2024-09-18T17:00:00Z", + "2024-09-18T18:00:00Z", + "2024-09-18T19:00:00Z", + "2024-09-18T20:00:00Z", + "2024-09-18T21:00:00Z", + "2024-09-18T22:00:00Z", + "2024-09-18T23:00:00Z", + "2024-09-19T00:00:00Z", + "2024-09-19T01:00:00Z", + "2024-09-19T02:00:00Z", + "2024-09-19T03:00:00Z", + "2024-09-19T04:00:00Z", + "2024-09-19T05:00:00Z", + "2024-09-19T06:00:00Z" + ], + "id": "$pageview", + "type": "events", + "order": 0, + "name": "$pageview", + "custom_name": "2Unique visitors", + "math": "dau", + "math_property": null, + "math_hogql": null, + "math_group_type_index": null, + "properties": {} + }, + "compare": true, + "compare_label": "current" + }, + { + "data": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "labels": [ + "hour 0", + "hour 1", + "hour 2", + "hour 3", + "hour 4", + "hour 5", + "hour 6", + "hour 7", + "hour 8", + "hour 9", + "hour 10", + "hour 11", + "hour 12", + "hour 13", + "hour 14", + "hour 15", + "hour 16", + "hour 17", + "hour 18", + "hour 19", + "hour 20", + "hour 21", + "hour 22", + "hour 23", + "hour 24", + "hour 25", + "hour 26", + "hour 27", + "hour 28", + "hour 29", + "hour 30", + "hour 31", + "hour 32", + "hour 33", + "hour 34", + "hour 35", + "hour 36", + "hour 37", + "hour 38", + "hour 39", + "hour 40", + "hour 41", + "hour 42", + "hour 43", + "hour 44", + "hour 45", + "hour 46", + "hour 47", + "hour 48", + "hour 49", + "hour 50", + "hour 51", + "hour 52", + "hour 53", + "hour 54", + "hour 55", + "hour 56", + "hour 57", + "hour 58", + "hour 59", + "hour 60", + "hour 61", + "hour 62", + "hour 63", + "hour 64", + "hour 65", + "hour 66", + "hour 67", + "hour 68", + "hour 69", + "hour 70", + "hour 71", + "hour 72", + "hour 73", + "hour 74", + "hour 75", + "hour 76", + "hour 77", + "hour 78", + "hour 79", + "hour 80", + "hour 81", + "hour 82", + "hour 83", + "hour 84", + "hour 85", + "hour 86", + "hour 87", + "hour 88", + "hour 89", + "hour 90", + "hour 91", + "hour 92", + "hour 93", + "hour 94", + "hour 95", + "hour 96", + "hour 97", + "hour 98", + "hour 99", + "hour 100", + "hour 101", + "hour 102", + "hour 103", + "hour 104", + "hour 105", + "hour 106", + "hour 107", + "hour 108", + "hour 109", + "hour 110", + "hour 111", + "hour 112", + "hour 113", + "hour 114", + "hour 115", + "hour 116", + "hour 117", + "hour 118", + "hour 119", + "hour 120", + "hour 121", + "hour 122", + "hour 123", + "hour 124", + "hour 125", + "hour 126", + "hour 127", + "hour 128", + "hour 129", + "hour 130", + "hour 131", + "hour 132", + "hour 133", + "hour 134", + "hour 135", + "hour 136", + "hour 137", + "hour 138", + "hour 139", + "hour 140", + "hour 141", + "hour 142", + "hour 143", + "hour 144", + "hour 145", + "hour 146", + "hour 147", + "hour 148", + "hour 149", + "hour 150", + "hour 151", + "hour 152", + "hour 153", + "hour 154", + "hour 155", + "hour 156", + "hour 157", + "hour 158", + "hour 159", + "hour 160", + "hour 161", + "hour 162", + "hour 163", + "hour 164", + "hour 165", + "hour 166", + "hour 167", + "hour 168", + "hour 169", + "hour 170", + "hour 171", + "hour 172", + "hour 173", + "hour 174" + ], + "days": [ + "2024-09-04 00:00:00", + "2024-09-04 01:00:00", + "2024-09-04 02:00:00", + "2024-09-04 03:00:00", + "2024-09-04 04:00:00", + "2024-09-04 05:00:00", + "2024-09-04 06:00:00", + "2024-09-04 07:00:00", + "2024-09-04 08:00:00", + "2024-09-04 09:00:00", + "2024-09-04 10:00:00", + "2024-09-04 11:00:00", + "2024-09-04 12:00:00", + "2024-09-04 13:00:00", + "2024-09-04 14:00:00", + "2024-09-04 15:00:00", + "2024-09-04 16:00:00", + "2024-09-04 17:00:00", + "2024-09-04 18:00:00", + "2024-09-04 19:00:00", + "2024-09-04 20:00:00", + "2024-09-04 21:00:00", + "2024-09-04 22:00:00", + "2024-09-04 23:00:00", + "2024-09-05 00:00:00", + "2024-09-05 01:00:00", + "2024-09-05 02:00:00", + "2024-09-05 03:00:00", + "2024-09-05 04:00:00", + "2024-09-05 05:00:00", + "2024-09-05 06:00:00", + "2024-09-05 07:00:00", + "2024-09-05 08:00:00", + "2024-09-05 09:00:00", + "2024-09-05 10:00:00", + "2024-09-05 11:00:00", + "2024-09-05 12:00:00", + "2024-09-05 13:00:00", + "2024-09-05 14:00:00", + "2024-09-05 15:00:00", + "2024-09-05 16:00:00", + "2024-09-05 17:00:00", + "2024-09-05 18:00:00", + "2024-09-05 19:00:00", + "2024-09-05 20:00:00", + "2024-09-05 21:00:00", + "2024-09-05 22:00:00", + "2024-09-05 23:00:00", + "2024-09-06 00:00:00", + "2024-09-06 01:00:00", + "2024-09-06 02:00:00", + "2024-09-06 03:00:00", + "2024-09-06 04:00:00", + "2024-09-06 05:00:00", + "2024-09-06 06:00:00", + "2024-09-06 07:00:00", + "2024-09-06 08:00:00", + "2024-09-06 09:00:00", + "2024-09-06 10:00:00", + "2024-09-06 11:00:00", + "2024-09-06 12:00:00", + "2024-09-06 13:00:00", + "2024-09-06 14:00:00", + "2024-09-06 15:00:00", + "2024-09-06 16:00:00", + "2024-09-06 17:00:00", + "2024-09-06 18:00:00", + "2024-09-06 19:00:00", + "2024-09-06 20:00:00", + "2024-09-06 21:00:00", + "2024-09-06 22:00:00", + "2024-09-06 23:00:00", + "2024-09-07 00:00:00", + "2024-09-07 01:00:00", + "2024-09-07 02:00:00", + "2024-09-07 03:00:00", + "2024-09-07 04:00:00", + "2024-09-07 05:00:00", + "2024-09-07 06:00:00", + "2024-09-07 07:00:00", + "2024-09-07 08:00:00", + "2024-09-07 09:00:00", + "2024-09-07 10:00:00", + "2024-09-07 11:00:00", + "2024-09-07 12:00:00", + "2024-09-07 13:00:00", + "2024-09-07 14:00:00", + "2024-09-07 15:00:00", + "2024-09-07 16:00:00", + "2024-09-07 17:00:00", + "2024-09-07 18:00:00", + "2024-09-07 19:00:00", + "2024-09-07 20:00:00", + "2024-09-07 21:00:00", + "2024-09-07 22:00:00", + "2024-09-07 23:00:00", + "2024-09-08 00:00:00", + "2024-09-08 01:00:00", + "2024-09-08 02:00:00", + "2024-09-08 03:00:00", + "2024-09-08 04:00:00", + "2024-09-08 05:00:00", + "2024-09-08 06:00:00", + "2024-09-08 07:00:00", + "2024-09-08 08:00:00", + "2024-09-08 09:00:00", + "2024-09-08 10:00:00", + "2024-09-08 11:00:00", + "2024-09-08 12:00:00", + "2024-09-08 13:00:00", + "2024-09-08 14:00:00", + "2024-09-08 15:00:00", + "2024-09-08 16:00:00", + "2024-09-08 17:00:00", + "2024-09-08 18:00:00", + "2024-09-08 19:00:00", + "2024-09-08 20:00:00", + "2024-09-08 21:00:00", + "2024-09-08 22:00:00", + "2024-09-08 23:00:00", + "2024-09-09 00:00:00", + "2024-09-09 01:00:00", + "2024-09-09 02:00:00", + "2024-09-09 03:00:00", + "2024-09-09 04:00:00", + "2024-09-09 05:00:00", + "2024-09-09 06:00:00", + "2024-09-09 07:00:00", + "2024-09-09 08:00:00", + "2024-09-09 09:00:00", + "2024-09-09 10:00:00", + "2024-09-09 11:00:00", + "2024-09-09 12:00:00", + "2024-09-09 13:00:00", + "2024-09-09 14:00:00", + "2024-09-09 15:00:00", + "2024-09-09 16:00:00", + "2024-09-09 17:00:00", + "2024-09-09 18:00:00", + "2024-09-09 19:00:00", + "2024-09-09 20:00:00", + "2024-09-09 21:00:00", + "2024-09-09 22:00:00", + "2024-09-09 23:00:00", + "2024-09-10 00:00:00", + "2024-09-10 01:00:00", + "2024-09-10 02:00:00", + "2024-09-10 03:00:00", + "2024-09-10 04:00:00", + "2024-09-10 05:00:00", + "2024-09-10 06:00:00", + "2024-09-10 07:00:00", + "2024-09-10 08:00:00", + "2024-09-10 09:00:00", + "2024-09-10 10:00:00", + "2024-09-10 11:00:00", + "2024-09-10 12:00:00", + "2024-09-10 13:00:00", + "2024-09-10 14:00:00", + "2024-09-10 15:00:00", + "2024-09-10 16:00:00", + "2024-09-10 17:00:00", + "2024-09-10 18:00:00", + "2024-09-10 19:00:00", + "2024-09-10 20:00:00", + "2024-09-10 21:00:00", + "2024-09-10 22:00:00", + "2024-09-10 23:00:00", + "2024-09-11 00:00:00", + "2024-09-11 01:00:00", + "2024-09-11 02:00:00", + "2024-09-11 03:00:00", + "2024-09-11 04:00:00", + "2024-09-11 05:00:00", + "2024-09-11 06:00:00" + ], + "count": 0.0, + "label": "$pageview", + "filter": { + "insight": "TRENDS", + "properties": [], + "filter_test_accounts": false, + "date_to": "2024-09-19T06:59:59.999999Z", + "date_from": "2024-09-12T00:00:00Z", + "entity_type": "events", + "interval": "hour", + "aggregationAxisFormat": "numeric", + "display": "ActionsLineGraph", + "showLegend": false, + "showPercentStackView": false, + "showValuesOnSeries": false, + "smoothingIntervals": 1 + }, + "action": { + "days": [ + "2024-09-12T00:00:00Z", + "2024-09-12T01:00:00Z", + "2024-09-12T02:00:00Z", + "2024-09-12T03:00:00Z", + "2024-09-12T04:00:00Z", + "2024-09-12T05:00:00Z", + "2024-09-12T06:00:00Z", + "2024-09-12T07:00:00Z", + "2024-09-12T08:00:00Z", + "2024-09-12T09:00:00Z", + "2024-09-12T10:00:00Z", + "2024-09-12T11:00:00Z", + "2024-09-12T12:00:00Z", + "2024-09-12T13:00:00Z", + "2024-09-12T14:00:00Z", + "2024-09-12T15:00:00Z", + "2024-09-12T16:00:00Z", + "2024-09-12T17:00:00Z", + "2024-09-12T18:00:00Z", + "2024-09-12T19:00:00Z", + "2024-09-12T20:00:00Z", + "2024-09-12T21:00:00Z", + "2024-09-12T22:00:00Z", + "2024-09-12T23:00:00Z", + "2024-09-13T00:00:00Z", + "2024-09-13T01:00:00Z", + "2024-09-13T02:00:00Z", + "2024-09-13T03:00:00Z", + "2024-09-13T04:00:00Z", + "2024-09-13T05:00:00Z", + "2024-09-13T06:00:00Z", + "2024-09-13T07:00:00Z", + "2024-09-13T08:00:00Z", + "2024-09-13T09:00:00Z", + "2024-09-13T10:00:00Z", + "2024-09-13T11:00:00Z", + "2024-09-13T12:00:00Z", + "2024-09-13T13:00:00Z", + "2024-09-13T14:00:00Z", + "2024-09-13T15:00:00Z", + "2024-09-13T16:00:00Z", + "2024-09-13T17:00:00Z", + "2024-09-13T18:00:00Z", + "2024-09-13T19:00:00Z", + "2024-09-13T20:00:00Z", + "2024-09-13T21:00:00Z", + "2024-09-13T22:00:00Z", + "2024-09-13T23:00:00Z", + "2024-09-14T00:00:00Z", + "2024-09-14T01:00:00Z", + "2024-09-14T02:00:00Z", + "2024-09-14T03:00:00Z", + "2024-09-14T04:00:00Z", + "2024-09-14T05:00:00Z", + "2024-09-14T06:00:00Z", + "2024-09-14T07:00:00Z", + "2024-09-14T08:00:00Z", + "2024-09-14T09:00:00Z", + "2024-09-14T10:00:00Z", + "2024-09-14T11:00:00Z", + "2024-09-14T12:00:00Z", + "2024-09-14T13:00:00Z", + "2024-09-14T14:00:00Z", + "2024-09-14T15:00:00Z", + "2024-09-14T16:00:00Z", + "2024-09-14T17:00:00Z", + "2024-09-14T18:00:00Z", + "2024-09-14T19:00:00Z", + "2024-09-14T20:00:00Z", + "2024-09-14T21:00:00Z", + "2024-09-14T22:00:00Z", + "2024-09-14T23:00:00Z", + "2024-09-15T00:00:00Z", + "2024-09-15T01:00:00Z", + "2024-09-15T02:00:00Z", + "2024-09-15T03:00:00Z", + "2024-09-15T04:00:00Z", + "2024-09-15T05:00:00Z", + "2024-09-15T06:00:00Z", + "2024-09-15T07:00:00Z", + "2024-09-15T08:00:00Z", + "2024-09-15T09:00:00Z", + "2024-09-15T10:00:00Z", + "2024-09-15T11:00:00Z", + "2024-09-15T12:00:00Z", + "2024-09-15T13:00:00Z", + "2024-09-15T14:00:00Z", + "2024-09-15T15:00:00Z", + "2024-09-15T16:00:00Z", + "2024-09-15T17:00:00Z", + "2024-09-15T18:00:00Z", + "2024-09-15T19:00:00Z", + "2024-09-15T20:00:00Z", + "2024-09-15T21:00:00Z", + "2024-09-15T22:00:00Z", + "2024-09-15T23:00:00Z", + "2024-09-16T00:00:00Z", + "2024-09-16T01:00:00Z", + "2024-09-16T02:00:00Z", + "2024-09-16T03:00:00Z", + "2024-09-16T04:00:00Z", + "2024-09-16T05:00:00Z", + "2024-09-16T06:00:00Z", + "2024-09-16T07:00:00Z", + "2024-09-16T08:00:00Z", + "2024-09-16T09:00:00Z", + "2024-09-16T10:00:00Z", + "2024-09-16T11:00:00Z", + "2024-09-16T12:00:00Z", + "2024-09-16T13:00:00Z", + "2024-09-16T14:00:00Z", + "2024-09-16T15:00:00Z", + "2024-09-16T16:00:00Z", + "2024-09-16T17:00:00Z", + "2024-09-16T18:00:00Z", + "2024-09-16T19:00:00Z", + "2024-09-16T20:00:00Z", + "2024-09-16T21:00:00Z", + "2024-09-16T22:00:00Z", + "2024-09-16T23:00:00Z", + "2024-09-17T00:00:00Z", + "2024-09-17T01:00:00Z", + "2024-09-17T02:00:00Z", + "2024-09-17T03:00:00Z", + "2024-09-17T04:00:00Z", + "2024-09-17T05:00:00Z", + "2024-09-17T06:00:00Z", + "2024-09-17T07:00:00Z", + "2024-09-17T08:00:00Z", + "2024-09-17T09:00:00Z", + "2024-09-17T10:00:00Z", + "2024-09-17T11:00:00Z", + "2024-09-17T12:00:00Z", + "2024-09-17T13:00:00Z", + "2024-09-17T14:00:00Z", + "2024-09-17T15:00:00Z", + "2024-09-17T16:00:00Z", + "2024-09-17T17:00:00Z", + "2024-09-17T18:00:00Z", + "2024-09-17T19:00:00Z", + "2024-09-17T20:00:00Z", + "2024-09-17T21:00:00Z", + "2024-09-17T22:00:00Z", + "2024-09-17T23:00:00Z", + "2024-09-18T00:00:00Z", + "2024-09-18T01:00:00Z", + "2024-09-18T02:00:00Z", + "2024-09-18T03:00:00Z", + "2024-09-18T04:00:00Z", + "2024-09-18T05:00:00Z", + "2024-09-18T06:00:00Z", + "2024-09-18T07:00:00Z", + "2024-09-18T08:00:00Z", + "2024-09-18T09:00:00Z", + "2024-09-18T10:00:00Z", + "2024-09-18T11:00:00Z", + "2024-09-18T12:00:00Z", + "2024-09-18T13:00:00Z", + "2024-09-18T14:00:00Z", + "2024-09-18T15:00:00Z", + "2024-09-18T16:00:00Z", + "2024-09-18T17:00:00Z", + "2024-09-18T18:00:00Z", + "2024-09-18T19:00:00Z", + "2024-09-18T20:00:00Z", + "2024-09-18T21:00:00Z", + "2024-09-18T22:00:00Z", + "2024-09-18T23:00:00Z", + "2024-09-19T00:00:00Z", + "2024-09-19T01:00:00Z", + "2024-09-19T02:00:00Z", + "2024-09-19T03:00:00Z", + "2024-09-19T04:00:00Z", + "2024-09-19T05:00:00Z", + "2024-09-19T06:00:00Z" + ], + "id": "$pageview", + "type": "events", + "order": 0, + "name": "$pageview", + "custom_name": "2Unique visitors", + "math": "dau", + "math_property": null, + "math_hogql": null, + "math_group_type_index": null, + "properties": {} + }, + "compare": true, + "compare_label": "previous" + } + ], + "timezone": "UTC", + "timings": [ + { + "k": "./trends_to_query", + "t": 1.2339081249956507 + }, + { + "k": "./printing_hogql_for_response", + "t": 1.1246531249998952 + }, + { + "k": "./execute_queries/series_0/query", + "t": 0.00007929199637146667 + }, + { + "k": "./execute_queries/series_0/replace_placeholders", + "t": 0.001978083004360087 + }, + { + "k": "./execute_queries/series_0/max_limit", + "t": 0.0007406670047203079 + }, + { + "k": "./execute_queries/series_0/hogql/prepare_ast/clone", + "t": 0.0006924580011400394 + }, + { + "k": "./execute_queries/series_0/hogql/prepare_ast/create_hogql_database", + "t": 0.9858747920006863 + }, + { + "k": "./execute_queries/series_0/hogql/prepare_ast/resolve_types", + "t": 0.00247687500086613 + }, + { + "k": "./execute_queries/series_0/hogql/prepare_ast", + "t": 0.9906883750009001 + }, + { + "k": "./execute_queries/series_0/hogql/print_ast/printer", + "t": 0.0010441249978612177 + }, + { + "k": "./execute_queries/series_0/hogql/print_ast", + "t": 0.0011038750017178245 + }, + { + "k": "./execute_queries/series_0/hogql", + "t": 0.9918708330005757 + }, + { + "k": "./execute_queries/series_0/print_ast/create_hogql_database", + "t": 0.2820742089970736 + }, + { + "k": "./execute_queries/series_0/print_ast/resolve_types", + "t": 0.0036303329980000854 + }, + { + "k": "./execute_queries/series_0/print_ast/resolve_property_types", + "t": 0.0013664159996551462 + }, + { + "k": "./execute_queries/series_0/print_ast/resolve_lazy_tables", + "t": 0.002443790996039752 + }, + { + "k": "./execute_queries/series_0/print_ast/swap_properties", + "t": 0.00030266600515460595 + }, + { + "k": "./execute_queries/series_0/print_ast/printer", + "t": 0.001262249999854248 + }, + { + "k": "./execute_queries/series_0/print_ast", + "t": 0.2990659580027568 + }, + { + "k": "./execute_queries/series_0/clickhouse_execute", + "t": 12.406918499997118 + }, + { + "k": "./execute_queries/series_0", + "t": 13.709536166999897 + }, + { + "k": "./execute_queries/series_1/query", + "t": 0.00013654199574375525 + }, + { + "k": "./execute_queries/series_1/replace_placeholders", + "t": 0.01622174999647541 + }, + { + "k": "./execute_queries/series_1/max_limit", + "t": 0.0005448330048238859 + }, + { + "k": "./execute_queries/series_1/hogql/prepare_ast/clone", + "t": 0.0001714999962132424 + }, + { + "k": "./execute_queries/series_1/hogql/prepare_ast/create_hogql_database", + "t": 0.5725957500035292 + }, + { + "k": "./execute_queries/series_1/hogql/prepare_ast/resolve_types", + "t": 0.008480917000269983 + }, + { + "k": "./execute_queries/series_1/hogql/prepare_ast", + "t": 0.5817857919973903 + }, + { + "k": "./execute_queries/series_1/hogql/print_ast/printer", + "t": 0.0006047089991625398 + }, + { + "k": "./execute_queries/series_1/hogql/print_ast", + "t": 0.0006782919954275712 + }, + { + "k": "./execute_queries/series_1/hogql", + "t": 0.5825003340069088 + }, + { + "k": "./execute_queries/series_1/print_ast/create_hogql_database", + "t": 0.26927295799396234 + }, + { + "k": "./execute_queries/series_1/print_ast/resolve_types", + "t": 0.0022759589992347173 + }, + { + "k": "./execute_queries/series_1/print_ast/resolve_property_types", + "t": 0.005150541001057718 + }, + { + "k": "./execute_queries/series_1/print_ast/resolve_lazy_tables", + "t": 0.007081292002112605 + }, + { + "k": "./execute_queries/series_1/print_ast/swap_properties", + "t": 0.0010450830013724044 + }, + { + "k": "./execute_queries/series_1/print_ast/printer", + "t": 0.003931624996766914 + }, + { + "k": "./execute_queries/series_1/print_ast", + "t": 0.28904125000553904 + }, + { + "k": "./execute_queries/series_1/clickhouse_execute", + "t": 12.840093208993494 + }, + { + "k": "./execute_queries/series_1", + "t": 13.738380374998087 + }, + { + "k": "./execute_queries", + "t": 13.772863707999932 + }, + { + "k": ".", + "t": 16.775496832997305 + } + ] +} diff --git a/frontend/src/scenes/web-analytics/response2.json b/frontend/src/scenes/web-analytics/response2.json new file mode 100644 index 0000000000000..601fe4f9728a6 --- /dev/null +++ b/frontend/src/scenes/web-analytics/response2.json @@ -0,0 +1,21 @@ +{ + "cache_key": "cache_cb3ecd1787f383186e316b1a55b0c5e2", + "query_status": { + "complete": false, + "dashboard_id": null, + "end_time": null, + "error": false, + "error_message": null, + "expiration_time": "2024-09-19T07:15:13.850075Z", + "id": "70a4aff7-292b-41c5-9f87-4f49b9f2da45", + "insight_id": null, + "labels": null, + "pickup_time": null, + "query_async": true, + "query_progress": null, + "results": null, + "start_time": "2024-09-19T06:55:13.200988Z", + "task_id": "2ca74d5e-aeaf-4ecd-8ff1-e7baddaf1398", + "team_id": 1 + } +} diff --git a/frontend/src/scenes/web-analytics/unique_visitors.sql b/frontend/src/scenes/web-analytics/unique_visitors.sql new file mode 100644 index 0000000000000..cbc59fa3671e3 --- /dev/null +++ b/frontend/src/scenes/web-analytics/unique_visitors.sql @@ -0,0 +1,49 @@ +SELECT + arrayMap(number -> plus(toStartOfHour(assumeNotNull(toDateTime('2024-09-12 00:00:00'))), toIntervalHour(number)), range(0, plus(coalesce(dateDiff('hour', toStartOfHour(assumeNotNull(toDateTime('2024-09-12 00:00:00'))), toStartOfHour(assumeNotNull(toDateTime('2024-09-19 02:59:59'))))), 1))) AS date, + arrayMap(_match_date -> arraySum(arraySlice(groupArray(count), indexOf(groupArray(day_start) AS _days_for_count, _match_date) AS _index, plus(minus(arrayLastIndex(x -> equals(x, _match_date), _days_for_count), _index), 1))), date) AS total +FROM + (SELECT + sum(total) AS count, + day_start + FROM + (SELECT + count(DISTINCT e.person_id) AS total, + toStartOfHour(timestamp) AS day_start + FROM + events AS e SAMPLE 1 + WHERE + and(greaterOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-12 00:00:00'))), lessOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-19 02:59:59'))), equals(event, '$pageview')) + GROUP BY + day_start) + GROUP BY + day_start + ORDER BY + day_start ASC) +ORDER BY + arraySum(total) DESC +LIMIT 50000 +UNION ALL +SELECT + arrayMap(number -> plus(toStartOfHour(assumeNotNull(toDateTime('2024-09-04 00:00:00'))), toIntervalHour(number)), range(0, plus(coalesce(dateDiff('hour', toStartOfHour(assumeNotNull(toDateTime('2024-09-04 00:00:00'))), toStartOfHour(assumeNotNull(toDateTime('2024-09-11 02:59:59'))))), 1))) AS date, + arrayMap(_match_date -> arraySum(arraySlice(groupArray(count), indexOf(groupArray(day_start) AS _days_for_count, _match_date) AS _index, plus(minus(arrayLastIndex(x -> equals(x, _match_date), _days_for_count), _index), 1))), date) AS total +FROM + (SELECT + sum(total) AS count, + day_start + FROM + (SELECT + count(DISTINCT e.person_id) AS total, + toStartOfHour(timestamp) AS day_start + FROM + events AS e SAMPLE 1 + WHERE + and(greaterOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-04 00:00:00'))), lessOrEquals(timestamp, assumeNotNull(toDateTime('2024-09-11 02:59:59'))), equals(event, '$pageview')) + GROUP BY + day_start) + GROUP BY + day_start + ORDER BY + day_start ASC) +ORDER BY + arraySum(total) DESC +LIMIT 50000 From ec02cac8b57243dfbd2ce4e2c74994d870dabccf Mon Sep 17 00:00:00 2001 From: Anirudh S Date: Sun, 22 Sep 2024 08:45:14 +0530 Subject: [PATCH 2/2] Cleanup code --- frontend/src/lib/utils.tsx | 76 ++++++++++++++++--- .../insights/views/LineGraph/LineGraph.tsx | 23 +----- 2 files changed, 68 insertions(+), 31 deletions(-) diff --git a/frontend/src/lib/utils.tsx b/frontend/src/lib/utils.tsx index 541f1a97224e9..88a22890fa975 100644 --- a/frontend/src/lib/utils.tsx +++ b/frontend/src/lib/utils.tsx @@ -553,22 +553,74 @@ export function humanFriendlyDetailedTime( return parsedDate.format(formatString) } -export function cleanupDateList(list1: string[]): string[] { +export function cleanupDateList(dateTimeList: string[]): string[] { + const date1 = dayjs(dateTimeList[0]) + const date2 = dayjs(dateTimeList[1]) + const diffInHours = date2.diff(date1, 'hour') + const diffInDays = date2.diff(date1, 'day') + const diffInWeeks = date2.diff(date1, 'week') + const diffInMonths = date2.diff(date1, 'month') + let previousDate: dayjs.Dayjs | null = null - return list1.map((dateTimeString) => { - const dateTime = new Date(dateTimeString) - const currentDate = dayjs(dateTime) - const time = currentDate.format('HH:mm') - let formattedDate = '' + if (diffInHours === 1) { + return dateTimeList.map((dateTimeString) => { + const dateTime = new Date(dateTimeString) + const currentDate = dayjs(dateTime) + const time = currentDate.format('HH:mm') + let formattedDate = '' - if (!currentDate.isSame(previousDate, 'd')) { - formattedDate = currentDate.format('YYYY-MM-DD') - previousDate = currentDate - } + if (!currentDate.isSame(previousDate, 'day')) { + formattedDate = currentDate.format('YYYY-MM-DD') + previousDate = currentDate + } - return formattedDate + ' ' + time - }) + return [time, formattedDate] + }) + } else if (diffInDays === 1) { + return dateTimeList.map((dateTimeString) => { + const dateTime = new Date(dateTimeString) + const currentDate = dayjs(dateTime) + const time = currentDate.format('HH:mm') + let formattedDate = currentDate.format('DD-MMM') + + if (!currentDate.isSame(previousDate, 'month')) { + formattedDate = currentDate.format('DD-MMM-YYYY') + previousDate = currentDate + } + + return [time, formattedDate] + }) + } else if (diffInWeeks === 1) { + return dateTimeList.map((dateTimeString) => { + const dateTime = new Date(dateTimeString) + const currentDate = dayjs(dateTime) + const time = currentDate.format('HH:mm') + let formattedDate = currentDate.format('DD-MMM') + + if (!currentDate.isSame(previousDate, 'year')) { + formattedDate = currentDate.format('DD-MMM-YYYY') + previousDate = currentDate + } + + return [time, formattedDate] + }) + } else if (diffInMonths === 1) { + return dateTimeList.map((dateTimeString) => { + const dateTime = new Date(dateTimeString) + const currentDate = dayjs(dateTime) + const time = currentDate.format('HH:mm') + let formattedDate = currentDate.format('DD-MMM') + + if (!currentDate.isSame(previousDate, 'year')) { + formattedDate = currentDate.format('DD-MMM-YYYY') + previousDate = currentDate + } + + return [time, formattedDate] + }) + } + return dateTimeList } // Pad numbers with leading zeros diff --git a/frontend/src/scenes/insights/views/LineGraph/LineGraph.tsx b/frontend/src/scenes/insights/views/LineGraph/LineGraph.tsx index 0c50e7a5079f8..7703da5308644 100644 --- a/frontend/src/scenes/insights/views/LineGraph/LineGraph.tsx +++ b/frontend/src/scenes/insights/views/LineGraph/LineGraph.tsx @@ -38,7 +38,7 @@ import { createTooltipData } from 'scenes/insights/views/LineGraph/tooltip-data' import { ErrorBoundary } from '~/layout/ErrorBoundary' import { themeLogic } from '~/layout/navigation-3000/themeLogic' -import { hexToRGBA, lightenDarkenColor, cleanupDateList } from '~/lib/utils' +import { cleanupDateList, hexToRGBA, lightenDarkenColor } from '~/lib/utils' import { groupsModel } from '~/models/groupsModel' import { TrendsFilter } from '~/queries/schema' import { GraphDataset, GraphPoint, GraphPointPayload, GraphType } from '~/types' @@ -770,31 +770,16 @@ export function LineGraph_({ labels = cleanupDateList(labels) const newChart = new Chart(canvasRef.current?.getContext('2d') as ChartItem, { type: (isBar ? GraphType.Bar : type) as ChartType, - data: { labels: labels.map((label) => { - return label - }), datasets: datasets }, + data: { labels, datasets }, options: { ...options, scales: { x: { ticks: { - autoSkip: true, - // maxTicksLimit: 5, - // autoSkipPadding: 2, maxRotation: 0, minRotation: 0, - callback: function(value, index, values) { - console.log(value) - console.log(index) - console.log(values) - const item = this.getLabelForValue(value) - const itemSplit = item.split(' ') - const date = itemSplit[0] - const time = itemSplit[1] - return [time, date] - }, - } - } + }, + }, }, }, plugins: [ChartDataLabels],