Session replay, cobrowsing and product analytics you can self-host. Ideal for reproducing issues and iterating on your product.
Find a file
Alexander d22e4e138e
Backend for mobile tracker support (#1456)
* feat(backend): handlers for mobile messages

* feat(backend): new service template

* feat(backend): save mobile session start and send batches to kafka

* feat(backend): added mobile support to sink, ender and storage

* helm(videostorage): added helm chart for a new service videostorage

* fix(backend): added pointer to streing for userBrowser (because it's null for mobile sessions)

* feat(backend): added MsgIOSBatchMeta handler to message iterator's logic

* feat(backend): added ios ts parser to ender

* feat(backend): enabled producing batch of messages to queue

* feat(backend): removed iosstart from mob files

* feat(backend): added new ios message types

* feat(backend): added iosStart and iosEnd

* fix(backend): fixed log issue

* feat(backend): send tar.gz archives to special queue topic

* feat(backend): read raw archives from kafka

* fix(backend): added missing file

* fix(backend): removed the second file reading

* fix(backend): fixed wrong queue topic name

* fix(backend): fixed mobile trigger topic name

* feat(backend): added tar.gz extractor and iOSSessionEnd handler

* feat(backend): debug logs on message uploading

* fix(backend): added raw-images topic consumption

* feat(backend): now sink send iosSessionEnd to video-storage

* feat(backend): added dir creator for new sessions

* feat(backend): added correct command to execute

* feat(backend): added overwrite option

* feat(backend): added s3 uploader for video session replays

* feat(backend): new consumer group for mobile sessions

* feat(backend): debug logs for uploader

* feat(backend): removed unused log

* feat(backend): fixed s3 key for video replays

* feat(backend): removed debug code

* feat(backend): fixed video-storage message filter

* fix(backend): added mobileSessionEnd to SessionEnd converter

* feat(backend): added first version if db support for mobile events

* fix(backend): added swipe events to mob file

* feat(backend): added swipe event to pg

* feat(backend): split logic into 2 services: image-storage and video-storage

* feat(backend): added helm chart for image-storage service

* fix(backend): fixed table name for mobile taps

* feat(backend): added metadata handler for mobile message parser + fix message filters

* feat(backend): added iosRawTopic to DB message consumer

* fix(backend): removed value from mobile inputs

* feat(backend): removed debug log from iterator

* feat(backend): added new apple devices to iOS device parser

* fix(backend): added real projectID instead of 0

* feat(backend): extended a list of simulators for device detector

* feat(backend): updated networkCall mobile message

* fix(backend): added new way to define is network call successed or not

* feat(backend): added timezone support for mobile start request

* feat(backend): added 2 mobile events Input and Click to mob file

* feat(backend): refactored image storage

* feat(backend): video storage with 2 workers

* feat(backend): added project's platform support

* feat(backend): added memory size field for mobile start request

* feat(backend): changed video preset for ultrafast

* feat(backend): added debug log to http /late handler

* feat(backend): added debug log to db service for iosCrash messages

* feat(backend): added tapRage event handler to heuristics

* feat(backend): changed table and field names for ios crashes

* feat(backend): added payload for tapRage events

* feat(backend): added TapRage events insert to DB

* feat(backend): added fps value to /mobile/start response

* feat(backend): added image quality parameter to /mobile/start response

* feat(backend): added ScreenLeave handler

* feat(backend): removed screenEnter and screenLeave events, added new viewComponent event

---------

Co-authored-by: rjshrjndrn <rjshrjndrn@gmail.com>
2023-10-09 15:02:20 +02:00
.github fix(action): fix deletion path 2023-10-02 18:07:49 +02:00
api Api v1.15.0 (#1506) 2023-10-09 12:52:44 +02:00
assist Api v1.15.0 (#1465) 2023-09-06 17:55:10 +01:00
assist-stats feat(api): service assist stats - agentid integer 2023-10-03 19:11:20 +02:00
backend Backend for mobile tracker support (#1456) 2023-10-09 15:02:20 +02:00
ee Backend for mobile tracker support (#1456) 2023-10-09 15:02:20 +02:00
frontend Backend for mobile tracker support (#1456) 2023-10-09 15:02:20 +02:00
mobs Backend for mobile tracker support (#1456) 2023-10-09 15:02:20 +02:00
peers Api v1.15.0 (#1465) 2023-09-06 17:55:10 +01:00
scripts Backend for mobile tracker support (#1456) 2023-10-09 15:02:20 +02:00
snippet Chore(release): v1.7.0 (#578) 2022-07-07 18:44:43 +02:00
sourcemap-reader Api v1.15.0 (#1465) 2023-09-06 17:55:10 +01:00
sourcemap-uploader fix(sourcemap-uploader):3.0.8: upgrade dependencies 2022-11-29 11:12:41 +01:00
static Updated hero 2023-05-02 11:17:28 +02:00
tracker fix(tracker): some fixes for assist 2023-10-04 10:39:11 +02:00
.gitignore chore(git): update gitignore 2023-06-12 11:48:40 +02:00
.pre-commit-config.yaml Api v1.13.0 (#1310) 2023-06-07 13:19:14 +02:00
CLA.md Update CLA 2021-12-03 12:34:00 +01:00
CODE_OF_CONDUCT.md Add README 2021-04-30 21:10:39 +02:00
CONTRIBUTING.md Introducing CLA 2021-10-28 19:34:11 +02:00
LICENSE Details for directories under the MIT license 2022-08-17 20:53:51 +02:00
README.md Update README.md 2023-05-24 20:40:29 +02:00
SECURITY.md Add README 2021-04-30 21:10:39 +02:00
third-party.md feat(recommendations): Added services recommendation (ml_service) and trainer (ml_trainer) (#1275) 2023-06-07 15:58:33 +02:00

Session replay for developers

The most advanced open-source session replay for building delightful web apps.

OpenReplay is a session replay suite you can host yourself, that lets you see what users do on your web app, helping you troubleshoot issues faster.

  • Session replay. OpenReplay replays what users do, but not only. It also shows you what went under the hood, how your website or app behaves by capturing network activity, console logs, JS errors, store actions/state, page speed metrics, cpu/memory usage and much more.
  • Low footprint. With a ~26KB (.br) tracker that asynchronously sends minimal data for a very limited impact on performance.
  • Self-hosted. No more security compliance checks, 3rd-parties processing user data. Everything OpenReplay captures stays in your cloud for a complete control over your data.
  • Privacy controls. Fine-grained security features for sanitizing user data.
  • Easy deploy. With support of major public cloud providers (AWS, GCP, Azure, DigitalOcean).

Features

  • Session replay: Lets you relive your users' experience, see where they struggle and how it affects their behavior. Each session replay is automatically analyzed based on heuristics, for easy triage.
  • DevTools: It's like debugging in your own browser. OpenReplay provides you with the full context (network activity, JS errors, store actions/state and 40+ metrics) so you can instantly reproduce bugs and understand performance issues.
  • Assist: Helps you support your users by seeing their live screen and instantly hopping on call (WebRTC) with them without requiring any 3rd-party screen sharing software.
  • Omni-search: Search and filter by almost any user action/criteria, session attribute or technical event, so you can answer any question. No instrumentation required.
  • Funnels: For surfacing the most impactful issues causing conversion and revenue loss.
  • Fine-grained privacy controls: Choose what to capture, what to obscure or what to ignore so user data doesn't even reach your servers.
  • Plugins oriented: Get to the root cause even faster by tracking application state (Redux, VueX, MobX, NgRx, Pinia and Zustand) and logging GraphQL queries (Apollo, Relay) and Fetch/Axios requests.
  • Integrations: Sync your backend logs with your session replays and see what happened front-to-back. OpenReplay supports Sentry, Datadog, CloudWatch, Stackdriver, Elastic and more.

Deployment Options

OpenReplay can be deployed anywhere. Follow our step-by-step guides for deploying it on major public clouds:

OpenReplay Cloud

For those who want to simply use OpenReplay as a service, sign up for a free account on our cloud offering.

Community Support

Please refer to the official OpenReplay documentation. That should help you troubleshoot common issues. For additional help, you can reach out to us on one of these channels:

  • Slack (Connect with our engineers and community)
  • GitHub (Bug and issue reports)
  • Twitter (Product updates, Great content)
  • YouTube (How-to tutorials, past Community Calls)
  • Website chat (Talk to us)

Contributing

We're always on the lookout for contributions to OpenReplay, and we're glad you're considering it! Not sure where to start? Look for open issues, preferably those marked as good first issues.

See our Contributing Guide for more details.

Also, feel free to join our Slack to ask questions, discuss ideas or connect with our contributors.

Roadmap

Check out our roadmap and keep an eye on what's coming next. You're free to submit new ideas and vote on features.

License

This monorepo uses several licenses. See LICENSE for more details.