Commit graph

68 commits

Author SHA1 Message Date
Alexander
f6123c1c08
Ender logic update (#1435) (#1436)
* Ender logic update (#1435)

* feat(backend): new session end detection logic + several fixes

* feat(backend): support partitions managment in ender

* feat(backend): added new consumer support to redis

* feat(backend): added support for new consumer in kafka

* feat(backend): added new consumer support to redis (ee)

* feat(backend): small refactoring in ender

* fix(backend): fixed missing js_exception issue type in sessions table
2023-08-03 15:26:23 +04:00
Alexander Zavorotynskiy
b0de3fa6c9 fix(backend): fixed import issues related to ee version 2023-07-06 11:37:14 +02:00
Alexander
4b8f3bee25
Sessions refactoring (#1371)
* feat(backend): moved sql requests related to sessions table to one place

* feat(backend): refactoring in db.Saver handler

* feat(backend): hude refactoring in db/postgres module

* fix(backend): workable feature flags

* fix(backend): workable integrations

* fix(backend): workable sessions and projects modules

* fix(backend): added missed projects module to sessions

* feat(backend): renaming

* feat(backend): moved session struct to sessions module and split methods into interface, cache and storage levels

* feat(backend): moved project struct to projects module

* feat(backend): added projects model

* feat(backend): implemented new in memory cache for sessions and projects

* feat(backend): implemented new cache in projects

* feat(backend): there are 2 methods in cache module now: Get() and GetAndRefresh()

* feat(backend): added cache update operations

* fix(backend): fixed import cycle

* fix(backend): fixed panic in db message handler

* fix(backend): fixed panic in projects module

* fix(backend): fixed panic in sessions.GetDuration

* feat(backend): added direct call to get session duration if session is already in cache

* feat(backend): used pg pool everywhere except db service

* fix(backend): added missing part after rebase

* fix(backend): removed old sessions file

* feat(backend): added refactored redis client with produce/consume options

* feat(backend): added cache layer for projects

* fix(backend): added missing redis config

* fix(backend): added missing method for producer

* feat(backend): cache integration for sessions

* feat(backend): temporary method to get session directly from db

* feat(backend): adapt EE version of message handler

* fix(backend): fixed issue in fts realisation

* fix(backend): added redis cache to sessions module

* fix(backend): set 0 duration or hesitation time for inputs without focus event

* feat(backend): added cache for session updates and failover mechanism for batch.Insert() operation

* feat(backend): debug log

* feat(backend): more debug log

* feat(backend): removed debug log

* fix(backend): fixed an issue of tracking input events with empty label

* fix(backend): disabled debug log in projects cache

* fix(backend): renamed session updater

* fix(backend): fixed closed pool issue in DB service

* fix(backend): fixed dead lock in db Stop() method

* fix(backend): fixed panic in heuristics service

* feat(backend): enabled redis cache in projects

* feat(backend): clear cache on each update operation

* feat(backend): fully integrated cache layer with auto switch

* feat(backend): small refactoring in session updates

* fix(backend): fixed wrong events counter issue

* feat(backend): enabled full cache support in ender and http services

* fix(backend/ee): added missed import

* feat(backend): added second cache layer for db to speed up the service

* feat(backend): disable redis cache

* feat(backend): moved redis cache to ee
2023-07-06 10:55:43 +02:00
Alexander Zavorotynskiy
00ca3d6184 feat(backend): added user's state and city to CH 2023-06-22 14:26:31 +02:00
Alexander
8e58c367dd
Fixed issue with wrong expiration timeout for projects (#1300)
* fix(backend): fixed issue with wrong expiration timeout for projects in cache layer

* fix(backend): removed direct call db.GetProject()

* feat(backend): set default PROJECT_EXPIRATION to 10 minutes
2023-06-08 18:08:53 +02:00
Alexander
111d6a1b54
Azure support (#1270)
* feat(backend): implemented azure blob storage support

* feat(backend): added azure implementation to backend services

* feat(backend): added azure blob storage support to chalice service

* fix(backend): removed prev version of s3

* feat(backend): moved azure support to ee subfolder

* feat(backend): prepared ee code for new utils.objects package

* feat(backend): added missed modules to go.mod

* feat(backend): added missed modules to go.sum

* feat(backend): go mod tidy

* feat(backend): temporary made s3 vars are not required

* feat(backend): added azure lib to ee chalice

* feat(api): changed azure env var name

* feat(api): added new object store and extra methods to chalice ee

* fix(api): added azure blob lib to alerts

* fix(api): fixed incorrect call in sessions_devtool

* fix(crons): added azure blob storage library to requirements list

* chore(build): Error message for not providing flag.

Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>

* feat(backend): removed ios headers and object store for ios messages

* feat(backend): object config refactoring

* chore(helm): Update BUCKET_NAME

* fix(backend): removed object storage usage in http

* feat(backend): added debug logs to azure upload method

* fix(backend): fixed empty folder issue

* fix(backend): removed extra debug log

* chore(helm): Adding global variables for crons

* chore(helm): Remove clickhouse resource limit

Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>

* fix(backend): removed assets debug log

* feat(api): use ABC class instead of empty interface

* feat(api): renamed helpers to generators

* feat(api): changed prep/clean dev scripts

* feat(api): changed name obj_store -> StorageClient

* feat(api): some changes after code review

* fix(api): removed unnecesery packages in oss api

* feat(backend): moved azure implementation to ee folder

---------

Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
Co-authored-by: rjshrjndrn <rjshrjndrn@gmail.com>
2023-06-08 13:31:54 +02:00
Alexander
d74ed000fa
Enable session encryption (#1121)
* feat(backend): enable session encryption

* feat(backend): fixed updated method name in failover algo

* feat(backend): disable encryption by default
2023-04-11 16:44:26 +02:00
Alexander Zavorotynskiy
853ac7c277 feat(backend): added CH creds support 2023-03-21 17:18:31 +01:00
Alexander Zavorotynskiy
d6526464c6 fix(backend): fixed field names 2023-03-15 16:26:46 +01:00
Alexander Zavorotynskiy
a7ca8ac54f feat(backend): implemented new events for CH 2023-03-15 16:21:44 +01:00
Alexander
c6aac11cbf
Heuristics refactoring (#987)
* feat(backend): refactored heuristics service

* feat(backend): refactored db service (moved several events to heuristics)
2023-03-09 09:54:12 +01:00
Alexander Zavorotynskiy
4bdc095c76 fix(backend): removed wrong defer in db.Saver 2023-02-21 15:29:24 +01:00
Alexander
fdd28dbc4a
Draft: New metrics module (#982)
* feat(backend): created new metrics module
2023-02-20 16:37:55 +01:00
Alexander
a40ce7c376
[DB] async db inserts for PG and CH (#967)
* feat(backend): added async workers for db service
2023-02-13 13:58:03 +01:00
Rajesh Rajendran
93f27fe459
clickhouse password (#972)
* chore(helm): Adding clickhouse password
* chore(backend): Support clickhouse password
* chore(api): Adding clickhouse password support
* chore(helm): inject clickhouse password
* chore(helm): Updating clickhouse image
* fix(clickhouse): Removing duplicate country code

---------

Signed-off-by: rjshrjndrn <rjshrjndrn@gmail.com>
2023-02-08 18:47:32 +01:00
Kraiem Taha Yassine
a68d2f2a58
Merge pull request #905 from openreplay/db_limits
[DB] limits for some columns
2023-01-20 17:47:58 +01:00
Alexander
bfe14db353
[DB] added last quickwit changes (#950)
* feat(backend): added last quickwit changes
2023-01-20 16:18:00 +01:00
Alexander Zavorotynskiy
6d557cd053 feat(backend): fixed missed session cache layer for some db methods 2023-01-20 14:43:56 +01:00
Alexander
da7d2038ef
[DB] added url field for click rage issues (#925)
* feat(backend): added url field for click rage issues
2023-01-18 13:38:10 +01:00
Alexander Zavorotynskiy
6972f84275 feat(backend): added batch and compression configuration for kafka producer 2023-01-11 16:52:32 +01:00
Alexander Zavorotynskiy
fa3655079d feat(backend): added CH limits for some columns 2022-12-30 11:19:13 +01:00
Alexander
205fdcba42
fix(backend/clickhouse): fixed batch insert panic because of wrong error source (#900) 2022-12-24 20:53:11 +01:00
Alex K
b3cbf74deb
Merge branch 'dev' into network-request-messahe 2022-12-13 17:12:15 +01:00
Alexander
bab5a81959
[Storage] added workers perf improvements (#877)
* feat(backend): added workers for storage service
2022-12-13 14:35:41 +01:00
Alex Kaminskii
ff80386aff feat(backend,mobs):replace Fetch with NetworkRequest 2022-12-09 15:48:47 +01:00
Alex K
e861bd9641
refactor(backend):remove legacy message wrapping (#854)
* refactor(backend):remove legacy message wrapping & few backend-only messages
2022-12-06 11:54:36 +01:00
Alexander Zavorotynskiy
065ecf9e03 feat(backend/ender): logs improvements 2022-12-01 12:47:08 +01:00
Alexander
8a8cf4d938
feat(backend/sink): manually sync all files on partitions rebalanced event (#847) 2022-11-29 11:34:39 +01:00
Dayan Graham
5d37d2da1e
feat(backend): enable Kerberos authentication for Kafka communication… (#807)
* feat(backend): enable Kerberos authentication for Kafka communications between services for EnterpriseEdition

* feat(backend): put default value for KAFKA_USE_KERBEROS

* feat(backend): Add Kerberos auth for Kafka - Update with comments for the envvars that configure the Kerberos auth
2022-11-22 12:10:01 +01:00
Alexander Zavorotynskiy
3b54ddb642 fix(backend): fixed panic from CH lib on incorrect issue type 2022-11-11 11:26:21 +01:00
Alexander Zavorotynskiy
408bd80ec3 fix(backend): added missed argument in kafka consumer 2022-10-25 16:11:56 +02:00
Alex K
974afa454b
feat(backend): insert error tags+ (#768)
* feat(backend): transform legacy messages

* refactor(backend/postgres):remove seqIndex transformation

* feat(backend/db): parse & insert errors_tags

* chore(backend): remove building folder after build

* fix(backend/db):remove message types from filter that do not go through kafka 

* fix(backend/assets):use JSException instead of ErrorEvent

* refactor(backend/db):ErrorEvent is no longer a message

* feat(backend/db):insert error tags in clickhouse

* refactor(backend):remove unused LongTask code
2022-10-19 10:31:13 +02:00
Alexander Zavorotynskiy
35a58edec2 feat(backend): removed context from issue event 2022-10-18 14:12:19 +02:00
Alexander
a166482227
Session mod files encryption (#766)
* feat(backend): added session mod files encryption
2022-10-18 12:50:36 +02:00
Alexander
bdcc98492d
Issues table for ClickHouse (#764)
* feat(backend): added batch for issues table to clickhouse connector
2022-10-11 10:25:45 +02:00
Alexander
56ed06ed17
Message processing refactoring (#743)
* feat(backend): refactored message processing logic and cleaned up previous changes
2022-09-28 13:41:50 +02:00
Alexander Zavorotynskiy
4f8e000de3 fix(backend): removed old method from CH interface 2022-09-19 11:06:39 +02:00
Alexander Zavorotynskiy
7502ad76df feat(backend): removed optimize call 2022-09-16 18:34:06 +02:00
Alexander Zavorotynskiy
3b045fa864 feat(backend): call sessions table optimise method only in one db service 2022-09-13 15:48:23 +02:00
Alexander Zavorotynskiy
348a323a41 feat(backend): added extra checks for urlMethod and resourceType in CH connector 2022-09-02 22:28:57 +02:00
Alexander Zavorotynskiy
c526d611f5 fix(backend): fixed some issues in db service 2022-09-02 18:16:10 +02:00
Alexander Zavorotynskiy
71609a19c3 fix(backend): set messageID = 0 for perf events in CH connector 2022-09-02 12:12:20 +02:00
Alexander Zavorotynskiy
e8de4ed5f5 fix(backend): fixed typo in CH connector 2022-09-02 12:03:28 +02:00
Alexander Zavorotynskiy
a621dd39b4 feat(backend): added message_id to events table in CH 2022-09-02 11:59:13 +02:00
Alexander
3904509f18
ClickHouse bugs fix (#707)
* fix(backend): fixed issues in CH connector
2022-09-01 17:45:28 +02:00
Alexander Zavorotynskiy
e2e6ef9861 fix(backend): added uint convertion to status field in CH connector 2022-09-01 11:17:53 +02:00
Alexander Zavorotynskiy
1ff51c44cb fix(backend): fixed bug in db saver (ee) 2022-09-01 08:40:01 +02:00
Alexander
7421154939
Ch improvements (#705)
* feat(backend): in-memory batches for click house
* feat(backend): new scheme for ClickHouse tables
2022-08-31 19:00:26 +02:00
Alexander
5887ab5ddb
Message protocol update (message size) (#663)
* feat(tracker): update message schema with BatchMetadata; separate message-related responsibilities; add message size
* chore(docker): removing edge busybox, as the main repo updated
* feat(backend): updated message protocol templates
* feat(backend): added support of message size
* feat(backend): implemented iterator for new message protocol (with message size)

Co-authored-by: Alex Kaminskii <alex@openreplay.com>
2022-08-22 12:32:48 +02:00
Alexander
0d82d7feac
DB improvements (#647)
* feat(backend/db): updated ClickHouse library version from 1.5.4 to 2.2.0
* feat(backend/db): refactored ClickHouse connector
* feat(backend/db): rewritten batch implementation for ClickHouse inserts
* feat(backend/db): found and fix memory leak in db service
2022-07-28 16:34:44 +02:00