diff --git a/events/__init__.py b/events/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/events/migrations/0001_squashed_0003_auto_20210219_1951.py b/events/migrations/0001_squashed_0003_auto_20210219_1951.py deleted file mode 100644 index 4b4ef66b..00000000 --- a/events/migrations/0001_squashed_0003_auto_20210219_1951.py +++ /dev/null @@ -1,188 +0,0 @@ -# Generated by Django 4.1.3 on 2022-12-10 15:28 - -import django.contrib.postgres.fields.hstore -import django.contrib.postgres.operations -from django.db import migrations, models -import django.db.models.deletion -import uuid - - -class Migration(migrations.Migration): - initial = True - - dependencies = [ - ("issues", "0002_auto_20210219_1931"), - ( - "releases", - "0001_squashed_0004_alter_release_id_alter_releasefile_id_and_more", - ), - ("issues", "0001_squashed_0010_auto_20210117_1543"), - ] - - operations = [ - migrations.SeparateDatabaseAndState( - state_operations=[ - migrations.CreateModel( - name="Event", - fields=[ - ( - "event_id", - models.UUIDField( - default=uuid.uuid4, - editable=False, - primary_key=True, - serialize=False, - ), - ), - ( - "timestamp", - models.DateTimeField( - blank=True, - help_text="Date created as claimed by client it came from", - null=True, - ), - ), - ( - "created", - models.DateTimeField(auto_now_add=True, db_index=True), - ), - ("data", models.JSONField()), - ( - "issue", - models.ForeignKey( - help_text="Sentry calls this a group", - on_delete=django.db.models.deletion.CASCADE, - to="issues.issue", - ), - ), - ( - "release", - models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to="releases.release", - ), - ), - ( - "tags", - models.ManyToManyField(blank=True, to="events.eventtag"), - ), - ], - options={ - "ordering": ["-created"], - }, - ), - migrations.CreateModel( - name="EventTagKey", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("key", models.CharField(max_length=255, unique=True)), - ], - ), - migrations.CreateModel( - name="EventTag", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("value", models.CharField(max_length=225)), - ( - "key", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="events.eventtagkey", - ), - ), - ], - options={ - "unique_together": {("key", "value")}, - }, - ), - ], - ), - migrations.RunSQL( - sql="\nDROP TRIGGER IF EXISTS event_issue_update on events_event;\n", - reverse_sql="DROP TRIGGER IF EXISTS event_issue_update on issues_event; DROP FUNCTION IF EXISTS update_issue;", - ), - migrations.AlterField( - model_name="event", - name="issue", - field=models.ForeignKey( - help_text="Sentry calls this a group", - null=True, - on_delete=django.db.models.deletion.CASCADE, - to="issues.issue", - ), - ), - migrations.RemoveField( - model_name="event", - name="tags", - ), - django.contrib.postgres.operations.HStoreExtension(), - migrations.AddField( - model_name="event", - name="tags", - field=django.contrib.postgres.fields.hstore.HStoreField(default=dict), - ), - migrations.DeleteModel( - name="EventTag", - ), - migrations.DeleteModel( - name="EventTagKey", - ), - migrations.AddField( - model_name="event", - name="errors", - field=models.JSONField( - blank=True, - help_text="Event processing errors from event intake, including validation errors", - null=True, - ), - ), - migrations.AlterField( - model_name="event", - name="data", - field=models.JSONField(help_text="General event data that is searchable"), - ), - migrations.AddField( - model_name="event", - name="level", - field=models.PositiveSmallIntegerField( - choices=[ - (0, "sample"), - (1, "debug"), - (2, "info"), - (3, "warning"), - (4, "error"), - (5, "fatal"), - ], - default=4, - ), - ), - migrations.AlterField( - model_name="event", - name="issue", - field=models.ForeignKey( - default=1, - help_text="Sentry calls this a group", - on_delete=django.db.models.deletion.CASCADE, - to="issues.issue", - ), - preserve_default=False, - ), - ] diff --git a/events/migrations/0004_auto_20240312_1344.py b/events/migrations/0004_auto_20240312_1344.py deleted file mode 100644 index 5c550aa1..00000000 --- a/events/migrations/0004_auto_20240312_1344.py +++ /dev/null @@ -1,13 +0,0 @@ -# Generated by Django 5.0.2 on 2024-03-12 13:44 - -from django.db import migrations - - -class Migration(migrations.Migration): - dependencies = [ - ("events", "0001_squashed_0003_auto_20210219_1951"), - ("issues", "0013_alter_comment_options_alter_issue_unique_together_and_more"), - ("issue_events", "0001_initial"), - ] - - operations = [] diff --git a/events/migrations/0005_delete_event.py b/events/migrations/0005_delete_event.py deleted file mode 100644 index 5ac0d9ca..00000000 --- a/events/migrations/0005_delete_event.py +++ /dev/null @@ -1,16 +0,0 @@ -# Generated by Django 5.0.3 on 2024-03-18 14:30 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('events', '0004_auto_20240312_1344'), - ] - - operations = [ - migrations.DeleteModel( - name='Event', - ), - ] diff --git a/events/migrations/__init__.py b/events/migrations/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/events/test_data/__init__.py b/events/test_data/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/events/test_data/bulk_event_data.py b/events/test_data/bulk_event_data.py deleted file mode 100644 index 236c4548..00000000 --- a/events/test_data/bulk_event_data.py +++ /dev/null @@ -1,1285 +0,0 @@ -large_event = { - "sdk": { - "name": "sentry.javascript.node", - "version": "6.13.3", - "packages": [{"name": "npm:@sentry/node", "version": "6.13.3"}], - "integrations": [ - "InboundFilters", - "FunctionToString", - "Console", - "Http", - "OnUncaughtException", - "OnUnhandledRejection", - "LinkedErrors", - ], - }, - "type": "error", - "user": {"ip_address": "54.174.129.0"}, - "title": "TypeError: Cannot read property 'id' of undefined", - "culprit": "None.(dist.webapp-frontend.server:535)", - "message": "", - "modules": "", - "request": {}, - "metadata": { - "type": "TypeError", - "value": "Cannot read property 'id' of undefined", - "filename": "/usr/src/app/dist/webapp-frontend/server/535.js", - "function": "None.", - }, - "platform": "node", - "exception": { - "values": [ - { - "type": "TypeError", - "value": "Cannot read property 'id' of undefined", - "mechanism": {"type": "generic", "handled": True}, - "stacktrace": { - "frames": [ - { - "colno": 4444567, - "in_app": False, - "lineno": 209, - "module": "dist.webapp-frontend.server:main", - "filename": "/usr/src/app/dist/webapp-frontend/server/main.js", - "function": "MapSubscriber._next", - "pre_context": [ - " }", - " pickaverb {", - " ...pickaverbState", - " }", - " }", - " }", - " ${pickaverbStateFragmentDoc}", - ], - "context_line": "'a long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of", - "post_context": [], - }, - { - "colno": 444456, - "in_app": False, - "lineno": 209, - "module": "dist.webapp-frontend.server:main", - "filename": "/usr/src/app/dist/webapp-frontend/server/main.js", - "function": "MapSubscriber.project", - "pre_context": [ - " }", - " pickaverb {", - " ...pickaverbState", - " }", - " }", - " }", - " ${pickaverbStateFragmentDoc}", - ], - "context_line": "'a long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of", - "post_context": [], - }, - { - "colno": 444456, - "in_app": False, - "lineno": 209, - "module": "dist.webapp-frontend.server:main", - "filename": "/usr/src/app/dist/webapp-frontend/server/main.js", - "function": "memoized", - "pre_context": [ - " }", - " pickaverb {", - " ...pickaverbState", - " }", - " }", - " }", - " ${pickaverbStateFragmentDoc}", - ], - "context_line": "'a long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of", - "post_context": [], - }, - { - "colno": 212679, - "in_app": False, - "lineno": 209, - "module": "dist.webapp-frontend.server:main", - "filename": "/usr/src/app/dist/webapp-frontend/server/main.js", - "function": "None.", - "pre_context": [ - " }", - " pickaverb {", - " ...pickaverbState", - " }", - " }", - " }", - " ${pickaverbStateFragmentDoc}", - ], - "context_line": "'a long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of", - "post_context": [], - }, - { - "colno": 212009, - "in_app": False, - "lineno": 209, - "module": "dist.webapp-frontend.server:main", - "filename": "/usr/src/app/dist/webapp-frontend/server/main.js", - "function": "defaultStateFn", - "pre_context": [ - " }", - " pickaverb {", - " ...pickaverbState", - " }", - " }", - " }", - " ${pickaverbStateFragmentDoc}", - ], - "context_line": "'a long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of", - "post_context": [], - }, - { - "colno": 444456, - "in_app": False, - "lineno": 209, - "module": "dist.webapp-frontend.server:main", - "filename": "/usr/src/app/dist/webapp-frontend/server/main.js", - "function": "memoized", - "pre_context": [ - " }", - " pickaverb {", - " ...pickaverbState", - " }", - " }", - " }", - " ${pickaverbStateFragmentDoc}", - ], - "context_line": "'a long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of", - "post_context": [], - }, - { - "colno": 444455, - "in_app": False, - "lineno": 209, - "module": "dist.webapp-frontend.server:main", - "filename": "/usr/src/app/dist/webapp-frontend/server/main.js", - "function": "None.", - "pre_context": [ - " }", - " pickaverb {", - " ...pickaverbState", - " }", - " }", - " }", - " ${pickaverbStateFragmentDoc}", - ], - "context_line": "'a long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of", - "post_context": [], - }, - { - "colno": 4444, - "in_app": False, - "lineno": 1, - "module": "dist.webapp-frontend.server:535", - "filename": "/usr/src/app/dist/webapp-frontend/server/535.js", - "function": "None.", - "pre_context": [], - "context_line": "'a long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of", - "post_context": [], - }, - { - "colno": None, - "in_app": False, - "lineno": None, - "filename": "", - "function": "Array.find", - }, - { - "colno": 4444, - "in_app": False, - "lineno": 1, - "module": "dist.webapp-frontend.server:535", - "filename": "/usr/src/app/dist/webapp-frontend/server/535.js", - "function": "None.", - "pre_context": [], - "context_line": "'a long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of contexta long string of", - "post_context": [], - }, - ] - }, - } - ] - }, - "breadcrumbs": { - "values": [ - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413370.714, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413370.767, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413371.123, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/v2/pages/detail_by_path/?queryofsomesort=what", - "method": "GET", - "status_code": 404, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413382.215, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/redirects/?old_path=/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413382.292, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some-stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413382.476, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/settings/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413382.508, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/more_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413382.652, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413382.655, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413382.977, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/v2/pages/some_stuff/?queryofsomesort=what", - "method": "GET", - "status_code": 404, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413388.568, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413388.594, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413388.602, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413388.603, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413388.632, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/redirects/?old_path=/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413388.657, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413388.859, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/settings/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413388.862, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/more_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413389.044, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/more_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413389.046, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413389.299, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/v2/pages/detail_by_path/?queryofsomesort=what", - "method": "GET", - "status_code": 404, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413394.691, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413394.711, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413394.714, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413394.722, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413394.733, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/redirects/?old_path=/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413394.771, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413394.875, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413394.876, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/settings/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413394.877, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413395.134, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644413395.156, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444400.48, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444400.5, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444400.502, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444400.545, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/v2/pages/detail_by_path/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444400.977, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/settings/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444401.22, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444401.221, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444401.231, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444401.438, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444402.527, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/v2/pages/detail_by_path/?queryofsomesort=what", - "method": "GET", - "status_code": 404, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444411.162, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/redirects/?old_path=/us/some_stuff/stylers/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444411.239, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444411.409, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444411.412, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444411.418, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/settings/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444411.425, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444411.553, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444411.555, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444411.559, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444411.563, - }, - { - "type": "default", - "level": "error", - "message": "TypeError: Cannot read property 'id' of undefined\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at Array.find ()\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:444455\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at defaultStateFn (/usr/src/app/dist/webapp-frontend/server/main.js:209:212009)\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:212679\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber.project (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber._next (/usr/src/app/dist/webapp-frontend/server/main.js:209:4444567)", - "category": "console", - "timestamp": 1644444411.651, - }, - { - "type": "default", - "level": "error", - "message": "TypeError: Cannot read property 'id' of undefined\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at Array.find ()\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:444455\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at defaultStateFn (/usr/src/app/dist/webapp-frontend/server/main.js:209:212009)\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:212679\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber.project (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber._next (/usr/src/app/dist/webapp-frontend/server/main.js:209:4444567)", - "category": "console", - "timestamp": 1644444411.663, - }, - { - "type": "default", - "level": "error", - "message": "TypeError: Cannot read property 'id' of undefined\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at Array.find ()\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:444455\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at defaultStateFn (/usr/src/app/dist/webapp-frontend/server/main.js:209:212009)\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:212679\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber.project (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber._next (/usr/src/app/dist/webapp-frontend/server/main.js:209:4444567)", - "category": "console", - "timestamp": 1644444411.708, - }, - { - "type": "default", - "level": "error", - "message": "TypeError: Cannot read property 'id' of undefined\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at Array.find ()\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:444455\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at defaultStateFn (/usr/src/app/dist/webapp-frontend/server/main.js:209:212009)\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:212679\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber.project (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber._next (/usr/src/app/dist/webapp-frontend/server/main.js:209:4444567)", - "category": "console", - "timestamp": 1644444411.719, - }, - { - "type": "default", - "level": "error", - "message": "TypeError: Cannot read property 'id' of undefined\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at Array.find ()\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:444455\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at defaultStateFn (/usr/src/app/dist/webapp-frontend/server/main.js:209:212009)\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:212679\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber.project (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber._next (/usr/src/app/dist/webapp-frontend/server/main.js:209:4444567)", - "category": "console", - "timestamp": 1644444411.73, - }, - { - "type": "default", - "level": "error", - "message": "TypeError: Cannot read property 'id' of undefined\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at Array.find ()\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:444455\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at defaultStateFn (/usr/src/app/dist/webapp-frontend/server/main.js:209:212009)\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:212679\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:211963\n at Array.map ()", - "category": "console", - "timestamp": 1644444411.741, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444411.774, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444417.218, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444417.253, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444417.338, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444417.339, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/v2/pages/detail_by_path/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444423.452, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/settings/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444423.639, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444423.74, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444424.016, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444424.019, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444424.56, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444431.249, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444431.282, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444431.301, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444431.306, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/v2/pages/detail_by_path/?queryofsomesort=what", - "method": "GET", - "status_code": 404, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444435.072, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/redirects/?old_path=/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444435.101, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444435.263, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/settings/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444435.265, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444435.425, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444435.427, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444435.609, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/v2/pages/detail_by_path/?queryofsomesort=what", - "method": "GET", - "status_code": 404, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444441.261, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/redirects/?old_path=/us/some_stuff/stylers/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444441.314, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444441.416, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/v2/pages/detail_by_path/?queryofsomesort=what", - "method": "GET", - "status_code": 404, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444441.418, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/v2/pages/detail_by_path/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444441.421, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444441.642, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444441.643, - }, - { - "data": { - "url": "https://pickaverb.webapp.com/api/something", - "method": "POST", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444441.644, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/v2/pages/detail_by_path/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444441.647, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/settings/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444441.911, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444442.028, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444442.03, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/more_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444442.053, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/redirects/?old_path=/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444442.055, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/settings/?queryofsomesort=what", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444442.133, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444442.25, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444442.252, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/some_stuff/", - "method": "GET", - "status_code": 200, - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444442.522, - }, - { - "data": { - "url": "https://api-prod.webapp.com/api/yotpo/?queryofsomesort=what", - "method": "GET", - "status_code": "[undefined]", - }, - "type": "http", - "level": "info", - "category": "http", - "timestamp": 1644444442.538, - }, - { - "type": "default", - "level": "error", - "message": "TypeError: Cannot read property 'id' of undefined\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at Array.find ()\n at /usr/src/app/dist/webapp-frontend/server/535.js:1:4444\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:444455\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at defaultStateFn (/usr/src/app/dist/webapp-frontend/server/main.js:209:212009)\n at /usr/src/app/dist/webapp-frontend/server/main.js:209:212679\n at memoized (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber.project (/usr/src/app/dist/webapp-frontend/server/main.js:209:444456)\n at MapSubscriber._next (/usr/src/app/dist/webapp-frontend/server/main.js:209:4444567)", - "category": "console", - "timestamp": 1644444442.623, - }, - ] - }, - "environment": "production", - "event_id": "ec321233a65d497e96edf4218f297efe", - "level": "error", - "datetime": "2022-02-09T13:30:42.633000Z", -} diff --git a/events/test_data/csp.py b/events/test_data/csp.py deleted file mode 100644 index 9e802aee..00000000 --- a/events/test_data/csp.py +++ /dev/null @@ -1,9 +0,0 @@ -mdn_sample_csp = { - "csp-report": { - "document-uri": "http://example.com/signup.html", - "referrer": "", - "blocked-uri": "http://example.com/css/style.css", - "violated-directive": "style-src cdn.example.com", - "original-policy": "default-src 'none'; style-src cdn.example.com; report-uri /_/csp-reports", - } -} diff --git a/events/test_data/csp_event.json b/events/test_data/csp_event.json deleted file mode 100644 index 3187790f..00000000 --- a/events/test_data/csp_event.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "eventID": "75c941b27a9c4819a374a2f2052279bc", - "dist": null, - "userReport": null, - "projectID": "1", - "previousEventID": null, - "message": "Blocked 'style' from 'example.com'", - "id": "41", - "size": 1317, - "errors": [], - "culprit": "style-src cdn.example.com", - "title": "Blocked 'style' from 'example.com'", - "platform": "other", - "location": "example.com", - "nextEventID": null, - "type": "csp", - "metadata": { - "message": "Blocked 'style' from 'example.com'", - "uri": "example.com", - "directive": "style-src" - }, - "groupingConfig": { "id": "legacy:2019-03-12" }, - "crashFile": null, - "tags": [ - { - "value": "http://example.com/css/style.css", - "key": "blocked-uri", - "_meta": null - }, - { "value": "style-src", "key": "effective-directive", "_meta": null }, - { "value": "error", "key": "level", "_meta": null }, - { "value": "csp", "key": "logger", "_meta": null }, - { "value": "http://example.com/signup.html", "key": "url", "_meta": null }, - { - "query": "user.ip:69.197.135.226", - "value": "ip:69.197.135.226", - "key": "user", - "_meta": null - } - ], - "dateCreated": "2020-02-06T19:35:11.310Z", - "dateReceived": "2020-02-06T19:35:11.310Z", - "user": { - "username": null, - "name": null, - "ip_address": "69.197.135.226", - "email": null, - "data": {}, - "id": null - }, - "entries": [ - { - "type": "message", - "data": { "formatted": "Blocked 'style' from 'example.com'" } - }, - { - "type": "csp", - "data": { - "blocked_uri": "http://example.com/css/style.css", - "referrer": "", - "violated_directive": "style-src cdn.example.com", - "document_uri": "http://example.com/signup.html", - "original_policy": "default-src 'none'; style-src cdn.example.com; report-uri /_/csp-reports", - "effective_directive": "style-src" - } - }, - { - "type": "request", - "data": { - "fragment": "", - "cookies": [], - "inferredContentType": null, - "env": null, - "headers": [["User-Agent", "axios/0.19.0"]], - "url": "http://example.com/signup.html", - "query": [], - "data": null, - "method": null - } - } - ], - "packages": {}, - "sdk": { - "version": "0.19.0", - "name": "axios", - "upstream": { "url": null, "isNewer": false, "name": "axios" } - }, - "_meta": { - "user": null, - "context": null, - "entries": {}, - "contexts": null, - "message": null, - "packages": null, - "tags": {}, - "sdk": null - }, - "contexts": {}, - "fingerprints": ["d5345fd5e29cfa4c251224cb7a035edc"], - "context": {}, - "release": null, - "groupID": "12" -} diff --git a/events/test_data/django_template_error_event.json b/events/test_data/django_template_error_event.json deleted file mode 100644 index 3e1a792c..00000000 --- a/events/test_data/django_template_error_event.json +++ /dev/null @@ -1,845 +0,0 @@ -{ - "eventID": "9cccfef1b2e64e7ba09120418acd402f", - "dist": null, - "userReport": null, - "projectID": "1855811", - "previousEventID": null, - "message": "", - "id": "9cccfef1b2e64e7ba09120418acd402f", - "size": 20065, - "errors": [], - "culprit": "/template-error/", - "title": "NoReverseMatch: Reverse for 'nope' not found. 'nope' is not a valid view function or pattern name.", - "sdkUpdates": [], - "platform": "python", - "location": "django/urls/resolvers.py", - "nextEventID": null, - "type": "error", - "metadata": { - "function": "_reverse_with_prefix", - "type": "NoReverseMatch", - "value": "Reverse for 'nope' not found. 'nope' is not a valid view function or pattern name.", - "filename": "django/urls/resolvers.py" - }, - "groupingConfig": { - "enhancements": "eJybzDhxY3J-bm5-npWRgaGlroGxrpHxBABcTQcY", - "id": "newstyle:2019-10-29" - }, - "crashFile": null, - "tags": [ - { "value": "Firefox 72.0", "key": "browser", "_meta": null }, - { "value": "Firefox", "key": "browser.name", "_meta": null }, - { "value": "Ubuntu", "key": "client_os.name", "_meta": null }, - { "value": "no", "key": "handled", "_meta": null }, - { "value": "error", "key": "level", "_meta": null }, - { "value": "django", "key": "mechanism", "_meta": null }, - { "value": "CPython 3.8.1", "key": "runtime", "_meta": null }, - { "value": "CPython", "key": "runtime.name", "_meta": null }, - { "value": "210ecca56d59", "key": "server_name", "_meta": null }, - { - "value": "054a97f6e65b4b00a4f44c7befe60632", - "key": "trace", - "_meta": null - }, - { - "value": "054a97f6e65b4b00a4f44c7befe60632-91c32e43e3ca1f52", - "key": "trace.ctx", - "_meta": null - }, - { "value": "91c32e43e3ca1f52", "key": "trace.span", "_meta": null }, - { "value": "/template-error/", "key": "transaction", "_meta": null }, - { - "value": "http://localhost:8001/template-error/", - "key": "url", - "_meta": null - } - ], - "dateCreated": "2020-01-11T17:04:31.306588Z", - "dateReceived": "2020-01-11T17:04:31.672903Z", - "user": null, - "entries": [ - { - "type": "exception", - "data": { - "values": [ - { - "stacktrace": { - "frames": [ - { - "function": "inner", - "errors": null, - "colNo": null, - "vars": { - "get_response": ">", - "request": "", - "exc": "NoReverseMatch(\"Reverse for 'nope' not found. 'nope' is not a valid view function or pattern name.\")" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py", - "inApp": false, - "lineNo": 34, - "module": "django.core.handlers.exception", - "filename": "django/core/handlers/exception.py", - "platform": null, - "instructionAddr": null, - "context": [ - [ - 29, - " can rely on getting a response instead of an exception." - ], - [30, " \"\"\""], - [31, " @wraps(get_response)"], - [32, " def inner(request):"], - [33, " try:"], - [34, " response = get_response(request)"], - [35, " except Exception as exc:"], - [ - 36, - " response = response_for_exception(request, exc)" - ], - [37, " return response"], - [38, " return inner"], - [39, ""] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "_get_response", - "errors": null, - "colNo": null, - "vars": { - "resolver_match": "ResolverMatch(func=errors.views.TemplateErrorView, args=(), kwargs={}, url_name=template_error, app_names=[], namespaces=[], route=template-error/)", - "callback_args": [], - "middleware_method": "", - "self": "", - "request": "", - "callback": "", - "wrapped_callback": "", - "resolver": "", - "callback_kwargs": {}, - "response": "" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", - "inApp": false, - "lineNo": 145, - "module": "django.core.handlers.base", - "filename": "django/core/handlers/base.py", - "platform": null, - "instructionAddr": null, - "context": [ - [140, " )"], - [141, ""], - [142, " try:"], - [143, " response = response.render()"], - [144, " except Exception as e:"], - [ - 145, - " response = self.process_exception_by_middleware(e, request)" - ], - [146, ""], - [147, " return response"], - [148, ""], - [ - 149, - " def process_exception_by_middleware(self, exception, request):" - ], - [150, " \"\"\""] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "_get_response", - "errors": null, - "colNo": null, - "vars": { - "resolver_match": "ResolverMatch(func=errors.views.TemplateErrorView, args=(), kwargs={}, url_name=template_error, app_names=[], namespaces=[], route=template-error/)", - "callback_args": [], - "middleware_method": "", - "self": "", - "request": "", - "callback": "", - "wrapped_callback": "", - "resolver": "", - "callback_kwargs": {}, - "response": "" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", - "inApp": false, - "lineNo": 143, - "module": "django.core.handlers.base", - "filename": "django/core/handlers/base.py", - "platform": null, - "instructionAddr": null, - "context": [ - [ - 138, - " \"HttpResponse object. It returned None instead.\"" - ], - [ - 139, - " % (middleware_method.__self__.__class__.__name__)" - ], - [140, " )"], - [141, ""], - [142, " try:"], - [143, " response = response.render()"], - [144, " except Exception as e:"], - [ - 145, - " response = self.process_exception_by_middleware(e, request)" - ], - [146, ""], - [147, " return response"], - [148, ""] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "render", - "errors": null, - "colNo": null, - "vars": { - "self": "", - "retval": "" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/template/response.py", - "inApp": false, - "lineNo": 105, - "module": "django.template.response", - "filename": "django/template/response.py", - "platform": null, - "instructionAddr": null, - "context": [ - [100, ""], - [101, " Return the baked response instance."], - [102, " \"\"\""], - [103, " retval = self"], - [104, " if not self._is_rendered:"], - [105, " self.content = self.rendered_content"], - [ - 106, - " for post_callback in self._post_render_callbacks:" - ], - [107, " newretval = post_callback(retval)"], - [108, " if newretval is not None:"], - [109, " retval = newretval"], - [110, " return retval"] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "rendered_content", - "errors": null, - "colNo": null, - "vars": { - "self": "", - "template": "", - "context": { - "view": "" - } - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/template/response.py", - "inApp": false, - "lineNo": 83, - "module": "django.template.response", - "filename": "django/template/response.py", - "platform": null, - "instructionAddr": null, - "context": [ - [ - 78, - " response content, you must either call render(), or set the" - ], - [ - 79, - " content explicitly using the value of this property." - ], - [80, " \"\"\""], - [ - 81, - " template = self.resolve_template(self.template_name)" - ], - [ - 82, - " context = self.resolve_context(self.context_data)" - ], - [ - 83, - " return template.render(context, self._request)" - ], - [84, ""], - [85, " def add_post_render_callback(self, callback):"], - [86, " \"\"\"Add a new post-rendering callback."], - [87, ""], - [88, " If the response has already been rendered,"] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "render", - "errors": null, - "colNo": null, - "vars": { - "self": "", - "request": "", - "context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': }]" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/template/backends/django.py", - "inApp": false, - "lineNo": 61, - "module": "django.template.backends.django", - "filename": "django/template/backends/django.py", - "platform": null, - "instructionAddr": null, - "context": [ - [56, " return self.template.origin"], - [57, ""], - [58, " def render(self, context=None, request=None):"], - [ - 59, - " context = make_context(context, request, autoescape=self.backend.engine.autoescape)" - ], - [60, " try:"], - [61, " return self.template.render(context)"], - [62, " except TemplateDoesNotExist as exc:"], - [63, " reraise(exc, self.backend)"], - [64, ""], - [65, ""], - [66, "def copy_exception(exc, backend=None):"] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "render", - "errors": null, - "colNo": null, - "vars": { - "self": "", - "context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': }]" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/template/base.py", - "inApp": false, - "lineNo": 171, - "module": "django.template.base", - "filename": "django/template/base.py", - "platform": null, - "instructionAddr": null, - "context": [ - [ - 166, - " \"Display stage -- can be called many times\"" - ], - [ - 167, - " with context.render_context.push_state(self):" - ], - [168, " if context.template is None:"], - [169, " with context.bind_template(self):"], - [ - 170, - " context.template_name = self.name" - ], - [171, " return self._render(context)"], - [172, " else:"], - [173, " return self._render(context)"], - [174, ""], - [175, " def compile_nodelist(self):"], - [176, " \"\"\""] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "_render", - "errors": null, - "colNo": null, - "vars": { - "self": "", - "context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': }]" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/template/base.py", - "inApp": false, - "lineNo": 163, - "module": "django.template.base", - "filename": "django/template/base.py", - "platform": null, - "instructionAddr": null, - "context": [ - [158, " def __iter__(self):"], - [159, " for node in self.nodelist:"], - [160, " yield from node"], - [161, ""], - [162, " def _render(self, context):"], - [163, " return self.nodelist.render(context)"], - [164, ""], - [165, " def render(self, context):"], - [ - 166, - " \"Display stage -- can be called many times\"" - ], - [ - 167, - " with context.render_context.push_state(self):" - ], - [168, " if context.template is None:"] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "render", - "errors": null, - "colNo": null, - "vars": { - "node": "", - "bit": "'", - "", - "'>" - ], - "context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': }]" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/template/base.py", - "inApp": false, - "lineNo": 936, - "module": "django.template.base", - "filename": "django/template/base.py", - "platform": null, - "instructionAddr": null, - "context": [ - [931, ""], - [932, " def render(self, context):"], - [933, " bits = []"], - [934, " for node in self:"], - [935, " if isinstance(node, Node):"], - [ - 936, - " bit = node.render_annotated(context)" - ], - [937, " else:"], - [938, " bit = node"], - [939, " bits.append(str(bit))"], - [940, " return mark_safe(''.join(bits))"], - [941, ""] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": null, - "errors": null, - "colNo": null, - "vars": null, - "package": null, - "absPath": "/code/errors/templates/template_error.html", - "inApp": true, - "lineNo": 1, - "module": null, - "filename": "/code/errors/templates/template_error.html", - "platform": null, - "instructionAddr": null, - "context": [ - [1, "<a href="{% url 'nope' %}">"] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "render_annotated", - "errors": null, - "colNo": null, - "vars": { - "self": "", - "context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': }]" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/template/base.py", - "inApp": false, - "lineNo": 903, - "module": "django.template.base", - "filename": "django/template/base.py", - "platform": null, - "instructionAddr": null, - "context": [ - [ - 898, - " rendering, the exception is annotated with contextual line information" - ], - [ - 899, - " where it occurred in the template. For internal usage this method is" - ], - [ - 900, - " preferred over using the render method directly." - ], - [901, " \"\"\""], - [902, " try:"], - [903, " return self.render(context)"], - [904, " except Exception as e:"], - [ - 905, - " if context.template.engine.debug and not hasattr(e, 'template_debug'):" - ], - [ - 906, - " e.template_debug = context.render_context.template.get_exception_info(e, self.token)" - ], - [907, " raise"], - [908, ""] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "render", - "errors": null, - "colNo": null, - "vars": { - "reverse": "", - "url": "''", - "self": "", - "args": [], - "current_app": "''", - "view_name": "'nope'", - "context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': }]", - "kwargs": {}, - "NoReverseMatch": "" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/template/defaulttags.py", - "inApp": false, - "lineNo": 443, - "module": "django.template.defaulttags", - "filename": "django/template/defaulttags.py", - "platform": null, - "instructionAddr": null, - "context": [ - [438, " current_app = None"], - [ - 439, - " # Try to look up the URL. If it fails, raise NoReverseMatch unless the" - ], - [ - 440, - " # {% url ... as var %} construct is used, in which case return nothing." - ], - [441, " url = ''"], - [442, " try:"], - [ - 443, - " url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)" - ], - [444, " except NoReverseMatch:"], - [445, " if self.asvar is None:"], - [446, " raise"], - [447, ""], - [448, " if self.asvar:"] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "reverse", - "errors": null, - "colNo": null, - "vars": { - "current_path": "None", - "viewname": "'nope'", - "args": [], - "current_app": "''", - "prefix": "'/'", - "resolver": "", - "kwargs": {}, - "path": [], - "urlconf": "'django_error_factory.urls'", - "view": "'nope'" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/urls/base.py", - "inApp": false, - "lineNo": 87, - "module": "django.urls.base", - "filename": "django/urls/base.py", - "platform": null, - "instructionAddr": null, - "context": [ - [82, " else:"], - [ - 83, - " raise NoReverseMatch(\"%s is not a registered namespace\" % key)" - ], - [84, " if ns_pattern:"], - [ - 85, - " resolver = get_ns_resolver(ns_pattern, resolver, tuple(ns_converters.items()))" - ], - [86, ""], - [ - 87, - " return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))" - ], - [88, ""], - [89, ""], - [90, "reverse_lazy = lazy(reverse, str)"], - [91, ""], - [92, ""] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - }, - { - "function": "_reverse_with_prefix", - "errors": null, - "colNo": null, - "vars": { - "patterns": [], - "_prefix": "'/'", - "self": "", - "args": [], - "m": "None", - "lookup_view_s": "'nope'", - "n": "None", - "possibilities": [], - "lookup_view": "'nope'", - "msg": "\"Reverse for 'nope' not found. 'nope' is not a valid view function or pattern name.\"" - }, - "package": null, - "absPath": "/usr/local/lib/python3.8/site-packages/django/urls/resolvers.py", - "inApp": false, - "lineNo": 677, - "module": "django.urls.resolvers", - "filename": "django/urls/resolvers.py", - "platform": null, - "instructionAddr": null, - "context": [ - [672, " else:"], - [673, " msg = ("], - [ - 674, - " \"Reverse for '%(view)s' not found. '%(view)s' is not \"" - ], - [ - 675, - " \"a valid view function or pattern name.\" % {'view': lookup_view_s}" - ], - [676, " )"], - [677, " raise NoReverseMatch(msg)"] - ], - "symbolAddr": null, - "trust": null, - "symbol": null, - "rawFunction": null - } - ], - "framesOmitted": null, - "registers": null, - "hasSystemFrames": true - }, - "module": "django.urls.exceptions", - "rawStacktrace": null, - "mechanism": { "type": "django", "handled": false }, - "threadId": null, - "value": "Reverse for 'nope' not found. 'nope' is not a valid view function or pattern name.", - "type": "NoReverseMatch" - } - ], - "excOmitted": null, - "hasSystemFrames": true - } - }, - { - "type": "request", - "data": { - "fragment": null, - "cookies": [], - "inferredContentType": "text/plain", - "env": { "SERVER_PORT": "8001", "SERVER_NAME": "210ecca56d59" }, - "headers": [ - [ - "Accept", - "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" - ], - ["Accept-Encoding", "gzip, deflate"], - ["Accept-Language", "en-US,en;q=0.5"], - ["Connection", "keep-alive"], - ["Content-Length", ""], - ["Content-Type", "text/plain"], - ["Dnt", "1"], - ["Host", "localhost:8001"], - ["Referer", "http://localhost:8001/"], - ["Upgrade-Insecure-Requests", "1"], - [ - "User-Agent", - "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0" - ] - ], - "url": "http://localhost:8001/template-error/", - "query": [], - "data": null, - "method": "GET" - } - } - ], - "packages": { - "toml": "0.10.0", - "cffi": "1.13.2", - "ipython-genutils": "0.2.0", - "wheel": "0.33.6", - "pygments": "2.5.2", - "cleo": "0.7.6", - "pip": "19.3.1", - "prompt-toolkit": "3.0.2", - "parso": "0.5.2", - "jeepney": "0.4.2", - "html5lib": "1.0.1", - "appdirs": "1.4.3", - "requests-toolbelt": "0.8.0", - "regex": "2020.1.8", - "pastel": "0.1.1", - "msgpack": "0.6.2", - "pexpect": "4.7.0", - "sentry-sdk": "0.14.0", - "ipdb": "0.12.3", - "six": "1.13.0", - "poetry": "1.0.0", - "ptyprocess": "0.6.0", - "click": "7.0", - "jedi": "0.15.2", - "traitlets": "4.3.3", - "asgiref": "3.2.3", - "cachy": "0.3.0", - "pathspec": "0.7.0", - "cachecontrol": "0.12.6", - "certifi": "2019.11.28", - "jsonschema": "3.2.0", - "backcall": "0.1.0", - "cryptography": "2.8", - "sqlparse": "0.3.0", - "pycparser": "2.19", - "secretstorage": "3.1.1", - "urllib3": "1.25.7", - "webencodings": "0.5.1", - "pytz": "2019.3", - "clikit": "0.4.1", - "ipython": "7.11.1", - "lockfile": "0.12.2", - "pickleshare": "0.7.5", - "decorator": "4.4.1", - "tomlkit": "0.5.8", - "typed-ast": "1.4.0", - "keyring": "19.3.0", - "wcwidth": "0.1.8", - "django": "3.0.2", - "pyrsistent": "0.14.11", - "pyparsing": "2.4.6", - "pylev": "1.3.0", - "chardet": "3.0.4", - "setuptools": "44.0.0", - "pkginfo": "1.5.0.1", - "black": "19.10b0", - "requests": "2.22.0", - "shellingham": "1.3.1", - "idna": "2.8", - "attrs": "19.3.0" - }, - "sdk": { "version": "0.14.0", "name": "sentry.python" }, - "_meta": { - "user": null, - "context": null, - "entries": { - "0": { - "data": { - "values": { - "0": { - "": null, - "stacktrace": { - "": null, - "frames": {}, - "registers": null, - "framesOmitted": null - }, - "mechanism": null, - "module": null, - "value": null, - "threadId": null, - "type": null - } - } - } - } - }, - "contexts": null, - "message": null, - "packages": null, - "tags": {}, - "sdk": null - }, - "contexts": { - "browser": { "version": "72.0", "type": "browser", "name": "Firefox" }, - "runtime": { - "version": "3.8.1", - "type": "runtime", - "build": "3.8.1 (default, Jan 3 2020, 22:55:55) \n[GCC 8.3.0]", - "name": "CPython" - }, - "trace": { - "description": "django.middleware.clickjacking.XFrameOptionsMiddleware.__call__", - "parent_span_id": "969696ce99d241b7", - "trace_id": "054a97f6e65b4b00a4f44c7befe60632", - "span_id": "91c32e43e3ca1f52", - "type": "trace", - "op": "django.middleware" - }, - "client_os": { "type": "os", "name": "Ubuntu" } - }, - "fingerprints": [ - "6c23e1847ab5bf6e4d9b040c4054ca67", - "8b852c201d5235b712e30315ea1fdffa" - ], - "context": { "sys.argv": ["./manage.py", "runserver", "0.0.0.0:8001"] }, - "release": null, - "groupID": "1435229148" -} diff --git a/events/test_data/event_generator.py b/events/test_data/event_generator.py deleted file mode 100644 index 4e6aa027..00000000 --- a/events/test_data/event_generator.py +++ /dev/null @@ -1,51 +0,0 @@ -import copy -import random -import uuid - -from django.utils import timezone - -from glitchtip.utils import get_random_string - -from . import django_error_factory -from .csp import mdn_sample_csp - -events = django_error_factory.all_django_events -events.append(mdn_sample_csp) - -things = ["a", "b", "c", None] - - -def make_event_unique(event, unique_issue=False): - """Assign event a random new event_id and current timestamp""" - new_event = copy.deepcopy(event) - new_event["event_id"] = uuid.uuid4().hex - new_event["timestamp"] = timezone.now().isoformat() - new_event["release"] = random.choice(things) - new_event["environment"] = random.choice(things) - if unique_issue: - title = get_random_string() - if "message" in new_event: - new_event["message"] = title - elif "exception" in new_event: - new_event["exception"]["values"][0]["value"] = title - elif "csp-report" in new_event: - new_event["csp-report"]["document-uri"] = title - return new_event - - -def generate_random_event(unique_issue=False): - """Return a random event from library of samples with unique event id""" - event = random.choice(events) # nosec - result = make_event_unique(event, unique_issue) - - return result - - -def get_seeded_benchmark_events(quantity=100, seed=1337): - """Non-random events that attempt to simulate common use cases""" - random.seed(seed) - result = [] - for i in range(quantity): - every_other = i % 2 - result.append(generate_random_event(every_other)) - return result diff --git a/events/test_data/incoming_events/android_sdk_envelope.json b/events/test_data/incoming_events/android_sdk_envelope.json deleted file mode 100644 index e7db6df4..00000000 --- a/events/test_data/incoming_events/android_sdk_envelope.json +++ /dev/null @@ -1,370 +0,0 @@ -[ - { - "event_id": "45e4eb512da94cb2956b788e6932c2cd", - "sdk": { - "name": "sentry.java.android", - "version": "4.0.0", - "packages": [ - { - "name": "maven:sentry", - "version": "4.0.0" - }, - { - "name": "maven:sentry-android-core", - "version": "4.0.0" - }, - { - "name": "maven:sentry-android-ndk", - "version": "4.0.0" - } - ] - } - }, - { - "content_type": "application/json", - "type": "event", - "length": 5557 - }, - { - "breadcrumbs": [ - { - "category": "ui.lifecycle", - "data": { - "screen": "MainActivity", - "state": "created" - }, - "level": "info", - "timestamp": "2021-02-23T03:12:07.454Z", - "type": "navigation" - }, - { - "category": "ui.lifecycle", - "data": { - "screen": "MainActivity", - "state": "started" - }, - "level": "info", - "timestamp": "2021-02-23T03:12:07.628Z", - "type": "navigation" - }, - { - "category": "app.lifecycle", - "data": { - "state": "start" - }, - "level": "info", - "timestamp": "2021-02-23T03:12:07.636Z", - "type": "session" - }, - { - "category": "app.lifecycle", - "data": { - "state": "foreground" - }, - "level": "info", - "timestamp": "2021-02-23T03:12:07.637Z", - "type": "navigation" - }, - { - "category": "ui.lifecycle", - "data": { - "screen": "MainActivity", - "state": "resumed" - }, - "level": "info", - "timestamp": "2021-02-23T03:12:07.637Z", - "type": "navigation" - }, - { - "category": "ui.lifecycle", - "data": { - "screen": "MainActivity", - "state": "paused" - }, - "level": "info", - "timestamp": "2021-02-23T03:13:23.808Z", - "type": "navigation" - }, - { - "category": "ui.lifecycle", - "data": { - "screen": "MainActivity", - "state": "stopped" - }, - "level": "info", - "timestamp": "2021-02-23T03:13:24.430Z", - "type": "navigation" - }, - { - "category": "ui.lifecycle", - "data": { - "screen": "MainActivity", - "state": "destroyed" - }, - "level": "info", - "timestamp": "2021-02-23T03:13:24.437Z", - "type": "navigation" - }, - { - "category": "app.lifecycle", - "data": { - "state": "background" - }, - "level": "info", - "timestamp": "2021-02-23T03:13:24.524Z", - "type": "navigation" - }, - { - "category": "ui.lifecycle", - "data": { - "screen": "MainActivity", - "state": "created" - }, - "level": "info", - "timestamp": "2021-02-23T03:13:25.533Z", - "type": "navigation" - } - ], - "dist": "1", - "exception": { - "values": [ - { - "module": "java.lang", - "stacktrace": { - "frames": [ - { - "native": false, - "filename": "ZygoteInit.java", - "function": "main", - "in_app": false, - "lineno": 947, - "module": "com.android.internal.os.ZygoteInit" - }, - { - "native": false, - "filename": "RuntimeInit.java", - "function": "run", - "in_app": false, - "lineno": 592, - "module": "com.android.internal.os.RuntimeInit$MethodAndArgsCaller" - }, - { - "native": true, - "filename": "Method.java", - "function": "invoke", - "in_app": false, - "module": "java.lang.reflect.Method" - }, - { - "native": false, - "filename": "ActivityThread.java", - "function": "main", - "in_app": false, - "lineno": 7656, - "module": "android.app.ActivityThread" - }, - { - "native": false, - "filename": "Looper.java", - "function": "loop", - "in_app": false, - "lineno": 223, - "module": "android.os.Looper" - }, - { - "native": false, - "filename": "Handler.java", - "function": "dispatchMessage", - "in_app": false, - "lineno": 106, - "module": "android.os.Handler" - }, - { - "native": false, - "filename": "ActivityThread.java", - "function": "handleMessage", - "in_app": false, - "lineno": 2066, - "module": "android.app.ActivityThread$H" - }, - { - "native": false, - "filename": "TransactionExecutor.java", - "function": "execute", - "in_app": false, - "lineno": 95, - "module": "android.app.servertransaction.TransactionExecutor" - }, - { - "native": false, - "filename": "TransactionExecutor.java", - "function": "executeCallbacks", - "in_app": false, - "lineno": 135, - "module": "android.app.servertransaction.TransactionExecutor" - }, - { - "native": false, - "filename": "LaunchActivityItem.java", - "function": "execute", - "in_app": false, - "lineno": 85, - "module": "android.app.servertransaction.LaunchActivityItem" - }, - { - "native": false, - "filename": "ActivityThread.java", - "function": "handleLaunchActivity", - "in_app": false, - "lineno": 3601, - "module": "android.app.ActivityThread" - }, - { - "native": false, - "filename": "ActivityThread.java", - "function": "performLaunchActivity", - "in_app": false, - "lineno": 3422, - "module": "android.app.ActivityThread" - }, - { - "native": false, - "filename": "Instrumentation.java", - "function": "callActivityOnCreate", - "in_app": false, - "lineno": 1309, - "module": "android.app.Instrumentation" - }, - { - "native": false, - "filename": "Activity.java", - "function": "performCreate", - "in_app": false, - "lineno": 7984, - "module": "android.app.Activity" - }, - { - "native": false, - "filename": "Activity.java", - "function": "performCreate", - "in_app": false, - "lineno": 8000, - "module": "android.app.Activity" - }, - { - "native": false, - "filename": "MainActivity.java", - "function": "onCreate", - "in_app": true, - "lineno": 22, - "module": "com.example.androiderrorfactory.MainActivity" - } - ] - }, - "thread_id": 2, - "type": "Exception", - "value": "This is a test." - } - ] - }, - "extra": {}, - "fingerprint": [], - "platform": "java", - "timestamp": "2021-02-23T03:13:25.533Z", - "user": { - "id": "3968871acdaea46f" - }, - "contexts": { - "app": { - "app_build": "1", - "app_identifier": "com.example.androiderrorfactory", - "app_name": "Android Error Factory", - "app_start_time": "2021-02-23T03:12:07.391Z", - "app_version": "1.0" - }, - "os": { - "build": "sdk_gphone_x86_arm-userdebug 11 RSR1.201013.001 6903271 dev-keys", - "kernel_version": "5.4.61-android11-0-00791-gbad091cc4bf3-ab6833933", - "name": "Android", - "rooted": true, - "version": "11" - }, - "device": { - "archs": [ - "x86", - "armeabi-v7a", - "armeabi" - ], - "battery_level": 100.0, - "battery_temperature": 25.0, - "boot_time": "2021-02-23T02:57:18.841Z", - "brand": "google", - "charging": false, - "connection_type": "wifi", - "external_free_storage": 835477504, - "external_storage_size": 835573760, - "family": "sdk_gphone_x86_arm", - "free_memory": 1124958208, - "free_storage": 5904179200, - "id": "3968871acdaea46f", - "language": "en_US", - "low_memory": false, - "manufacturer": "Google", - "memory_size": 2076913664, - "model": "sdk_gphone_x86_arm", - "model_id": "RSR1.201013.001", - "name": "sdk_gphone_x86_arm", - "online": true, - "orientation": "portrait", - "screen_density": 2.75, - "screen_dpi": 440, - "screen_height_pixels": 2088, - "screen_width_pixels": 1080, - "simulator": true, - "storage_size": 6240665600, - "timezone": "America/New_York" - } - }, - "environment": "production", - "event_id": "45e4eb512da94cb2956b788e6932c2cd", - "release": "com.example.androiderrorfactory@1.0+1", - "sdk": { - "name": "sentry.java.android", - "packages": [ - { - "name": "maven:sentry", - "version": "4.0.0" - }, - { - "name": "maven:sentry-android-core", - "version": "4.0.0" - }, - { - "name": "maven:sentry-android-ndk", - "version": "4.0.0" - } - ], - "version": "4.0.0" - }, - "tags": { - "isSideLoaded": "true" - } - }, - { - "content_type": "application/json", - "type": "session", - "length": 272 - }, - { - "sid": "cd2277eb-c49c-4780-98ba-e0faced3050b", - "did": "747c00a9-5685-491e-a6a3-e962f4eaf8ba", - "started": "2021-02-23T03:12:07.637Z", - "status": "ok", - "seq": 1614050005549, - "errors": 1, - "timestamp": "2021-02-23T03:13:25.549Z", - "attrs": { - "release": "com.example.androiderrorfactory@1.0+1" - } - } -] \ No newline at end of file diff --git a/events/test_data/incoming_events/django_fingerprint.json b/events/test_data/incoming_events/django_fingerprint.json deleted file mode 100644 index d9c881c7..00000000 --- a/events/test_data/incoming_events/django_fingerprint.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "level": "error", - "exception": { - "values": [ - { - "module": null, - "type": "Exception", - "value": "something 9", - "mechanism": null, - "stacktrace": { - "frames": [ - { - "filename": "errors/views.py", - "abs_path": "/code/errors/views.py", - "function": "get", - "module": "errors.views", - "lineno": 91, - "pre_context": [ - " 0 / 0", - "", - "class FingerprintView(View):", - " def get(self, request, *args, **kwargs):", - " try:" - ], - "context_line": " raise Exception(\"something %s\" % randrange(10))", - "post_context": [ - " except Exception as err:", - " with push_scope() as scope:", - " scope.fingerprint = [\"foo\"]", - " capture_exception(err)", - " return HttpResponse(\"Ok\")" - ], - "vars": { - "self": "", - "request": "", - "args": [], - "kwargs": {}, - "err": "Exception('something 9')", - "scope": "" - }, - "in_app": true - } - ] - } - } - ] - }, - "event_id": "3ae3fd09af864ff2b47b5660ffdd2335", - "timestamp": "2022-08-26T01:04:11.691403Z", - "breadcrumbs": { "values": [] }, - "transaction": "/fingerprint/", - "transaction_info": { "source": "route" }, - "fingerprint": ["foo"], - "contexts": { - "trace": { - "trace_id": "c5092e5166294f92a45c85400396415e", - "span_id": "b12138ae837c101f", - "parent_span_id": "b7bf9900011a3876", - "op": "django.view", - "description": "fingerprint" - }, - "runtime": { - "name": "CPython", - "version": "3.10.6", - "build": "3.10.6 (main, Aug 3 2022, 10:24:07) [GCC 10.2.1 20210110]" - } - }, - "modules": { - "django": "3.2.15", - "ipython-genutils": "0.2.0" - }, - "extra": { "sys.argv": ["./manage.py", "runserver", "0.0.0.0:8001"] }, - "request": { - "url": "http://localhost:8001/fingerprint/", - "query_string": "", - "method": "GET", - "env": { "SERVER_NAME": "0242d0b0a287", "SERVER_PORT": "8001" }, - "headers": { - "Content-Length": "", - "Content-Type": "text/plain", - "Host": "localhost:8001", - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", - "Accept-Language": "en-US,en;q=0.5", - "Accept-Encoding": "gzip, deflate, br", - "Referer": "http://localhost:8001/", - "Connection": "keep-alive", - "Cookie": "", - "Upgrade-Insecure-Requests": "1", - "Sec-Fetch-Dest": "document", - "Sec-Fetch-Mode": "navigate", - "Sec-Fetch-Site": "same-origin", - "Dnt": "1", - "Sec-Gpc": "1" - } - }, - "environment": "production", - "server_name": "0242d0b0a287", - "sdk": { - "name": "sentry.python", - "version": "1.9.5", - "packages": [{ "name": "pypi:sentry-sdk", "version": "1.9.5" }], - "integrations": [ - "argv", - "atexit", - "dedupe", - "django", - "excepthook", - "logging", - "modules", - "redis", - "stdlib", - "threading" - ] - }, - "platform": "python", - "_meta": { - "request": { - "headers": { "Cookie": { "": { "rem": [["!config", "x", 0, 464]] } } } - } - } -} diff --git a/events/test_data/incoming_events/incoming.json b/events/test_data/incoming_events/incoming.json deleted file mode 100644 index a6deef0f..00000000 --- a/events/test_data/incoming_events/incoming.json +++ /dev/null @@ -1,297 +0,0 @@ -{ - "level": "error", - "exception": { - "values": [ - { - "module": null, - "type": "ZeroDivisionError", - "value": "division by zero", - "mechanism": { "type": "django", "handled": false }, - "stacktrace": { - "frames": [ - { - "filename": "django/core/handlers/exception.py", - "abs_path": "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", - "function": "inner", - "module": "django.core.handlers.exception", - "lineno": 47, - "pre_context": [ - " return inner", - " else:", - " @wraps(get_response)", - " def inner(request):", - " try:" - ], - "context_line": " response = get_response(request)", - "post_context": [ - " except Exception as exc:", - " response = response_for_exception(request, exc)", - " return response", - " return inner", - "" - ], - "vars": { - "request": "", - "exc": "ZeroDivisionError('division by zero')", - "get_response": ">" - }, - "in_app": true - }, - { - "filename": "django/core/handlers/base.py", - "abs_path": "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py", - "function": "_get_response", - "module": "django.core.handlers.base", - "lineno": 179, - "pre_context": [ - " wrapped_callback = self.make_view_atomic(callback)", - " # If it is an asynchronous view, run it in a subthread.", - " if asyncio.iscoroutinefunction(wrapped_callback):", - " wrapped_callback = async_to_sync(wrapped_callback)", - " try:" - ], - "context_line": " response = wrapped_callback(request, *callback_args, **callback_kwargs)", - "post_context": [ - " except Exception as e:", - " response = self.process_exception_by_middleware(e, request)", - " if response is None:", - " raise", - "" - ], - "vars": { - "self": "", - "request": "", - "response": "None", - "callback": "", - "callback_args": [], - "callback_kwargs": {}, - "middleware_method": "", - "wrapped_callback": "" - }, - "in_app": true - }, - { - "filename": "django/views/generic/base.py", - "abs_path": "/usr/local/lib/python3.9/site-packages/django/views/generic/base.py", - "function": "view", - "module": "django.views.generic.base", - "lineno": 70, - "pre_context": [ - " if not hasattr(self, 'request'):", - " raise AttributeError(", - " \"%s instance has no 'request' attribute. Did you override \"", - " \"setup() and forget to call super()?\" % cls.__name__", - " )" - ], - "context_line": " return self.dispatch(request, *args, **kwargs)", - "post_context": [ - " view.view_class = cls", - " view.view_initkwargs = initkwargs", - "", - " # take name and docstring from class", - " update_wrapper(view, cls, updated=())" - ], - "vars": { - "request": "", - "args": [], - "kwargs": {}, - "self": "", - "cls": "", - "initkwargs": {} - }, - "in_app": true - }, - { - "filename": "django/views/generic/base.py", - "abs_path": "/usr/local/lib/python3.9/site-packages/django/views/generic/base.py", - "function": "dispatch", - "module": "django.views.generic.base", - "lineno": 98, - "pre_context": [ - " # request method isn't on the approved list.", - " if request.method.lower() in self.http_method_names:", - " handler = getattr(self, request.method.lower(), self.http_method_not_allowed)", - " else:", - " handler = self.http_method_not_allowed" - ], - "context_line": " return handler(request, *args, **kwargs)", - "post_context": [ - "", - " def http_method_not_allowed(self, request, *args, **kwargs):", - " logger.warning(", - " 'Method Not Allowed (%s): %s', request.method, request.path,", - " extra={'status_code': 405, 'request': request}" - ], - "vars": { - "self": "", - "request": "", - "args": [], - "kwargs": {}, - "handler": ">" - }, - "in_app": true - }, - { - "filename": "errors/views.py", - "abs_path": "/code/errors/views.py", - "function": "get", - "module": "errors.views", - "lineno": 18, - "pre_context": [ - " template_name = \"home.html\"", - "", - "", - "class DivideZeroView(View):", - " def get(self, request, *args, **kwargs):" - ], - "context_line": " 0/0", - "post_context": [ - "", - "", - "class DatabaseErrorView(View):", - " def get(self, request, *args, **kwargs):", - " User.objects.get(id=\"9999999\")" - ], - "vars": { - "self": "", - "request": "", - "args": [], - "kwargs": {} - }, - "in_app": true - } - ] - } - } - ] - }, - "event_id": "ddfd2bbf7b4c482983bda75c70771345", - "timestamp": "2020-12-28T21:04:55.706694Z", - "breadcrumbs": { "values": [] }, - "transaction": "/divide-zero/", - "contexts": { - "trace": { - "trace_id": "b87083e8cc1b439ebcd73ec503cc0d81", - "span_id": "904600a6494e8110", - "parent_span_id": "92a90c2f0b14fdc2", - "op": "django.middleware", - "description": "django.middleware.clickjacking.XFrameOptionsMiddleware.__call__" - }, - "runtime": { - "name": "CPython", - "version": "3.9.1", - "build": "3.9.1 (default, Dec 11 2020, 14:22:09) \n[GCC 8.3.0]" - } - }, - "modules": { - "django-error-factory": "0.1.0", - "wheel": "0.36.2", - "webencodings": "0.5.1", - "wcwidth": "0.2.5", - "virtualenv": "20.2.2", - "urllib3": "1.26.2", - "typed-ast": "1.4.1", - "traitlets": "4.3.3", - "tomlkit": "0.7.0", - "toml": "0.10.2", - "sqlparse": "0.4.1", - "six": "1.15.0", - "shellingham": "1.3.2", - "setuptools": "51.0.0", - "sentry-sdk": "0.19.5", - "secretstorage": "3.3.0", - "requests": "2.25.1", - "requests-toolbelt": "0.9.1", - "regex": "2020.11.13", - "pytz": "2020.5", - "pyparsing": "2.4.7", - "pylev": "1.3.0", - "pygments": "2.7.3", - "pycparser": "2.20", - "ptyprocess": "0.7.0", - "prompt-toolkit": "3.0.3", - "poetry": "1.1.4", - "poetry-core": "1.0.0", - "pkginfo": "1.6.1", - "pip": "20.3.3", - "pickleshare": "0.7.5", - "pexpect": "4.8.0", - "pathspec": "0.8.1", - "pastel": "0.2.1", - "parso": "0.8.1", - "packaging": "20.8", - "msgpack": "1.0.2", - "lockfile": "0.12.2", - "keyring": "21.7.0", - "jeepney": "0.6.0", - "jedi": "0.18.0", - "ipython": "7.16.1", - "ipython-genutils": "0.2.0", - "ipdb": "0.12.3", - "idna": "2.10", - "html5lib": "1.1", - "filelock": "3.0.12", - "django": "3.1.4", - "distlib": "0.3.1", - "decorator": "4.4.2", - "cryptography": "3.3.1", - "crashtest": "0.3.1", - "clikit": "0.6.2", - "click": "7.1.2", - "cleo": "0.8.1", - "chardet": "4.0.0", - "cffi": "1.14.4", - "certifi": "2020.12.5", - "cachy": "0.3.0", - "cachecontrol": "0.12.6", - "black": "19.10b0", - "backcall": "0.2.0", - "attrs": "20.3.0", - "asgiref": "3.3.1", - "appdirs": "1.4.4" - }, - "extra": { "sys.argv": ["./manage.py", "runserver", "0.0.0.0:8001"] }, - "request": { - "url": "http://localhost:8001/divide-zero/", - "query_string": "", - "method": "GET", - "env": { "SERVER_NAME": "43d6d8bfda6a", "SERVER_PORT": "8001" }, - "headers": { - "Content-Length": "", - "Content-Type": "text/plain", - "Host": "localhost:8001", - "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", - "Accept-Language": "en-US,en;q=0.5", - "Accept-Encoding": "gzip, deflate", - "Referer": "http://localhost:8001/", - "Connection": "keep-alive", - "Cookie": "", - "Upgrade-Insecure-Requests": "1", - "Cache-Control": "max-age=0" - } - }, - "server_name": "43d6d8bfda6a", - "sdk": { - "name": "sentry.python", - "version": "0.19.5", - "packages": [{ "name": "pypi:sentry-sdk", "version": "0.19.5" }], - "integrations": [ - "argv", - "atexit", - "dedupe", - "django", - "excepthook", - "logging", - "modules", - "stdlib", - "threading" - ] - }, - "platform": "python", - "_meta": { - "request": { - "headers": { "Cookie": { "": { "rem": [["!config", "x", 0, 344]] } } } - } - } -} diff --git a/events/test_data/incoming_events/small_js_error_source.json b/events/test_data/incoming_events/small_js_error_source.json deleted file mode 100644 index 4e2d1e3b..00000000 --- a/events/test_data/incoming_events/small_js_error_source.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "exception": { - "values": [ - { - "type": "Error", - "value": "this is an error", - "stacktrace": { - "frames": [ - { - "filename": "http://localhost:8080/dist/bundle.js", - "function": "?", - "in_app": true, - "lineno": 2, - "colno": 74022 - }, - { - "filename": "http://localhost:8080/dist/bundle.js", - "function": "?", - "in_app": true, - "lineno": 2, - "colno": 74018 - }, - { - "filename": "http://localhost:8080/dist/bundle.js", - "function": "?", - "in_app": true, - "lineno": 2, - "colno": 73991 - } - ] - }, - "mechanism": { "type": "onerror", "handled": false } - } - ] - }, - "level": "error", - "platform": "javascript", - "event_id": "f4e67b1b9293445a9545465b0b58696c", - "timestamp": 1648928683.501, - "environment": "production", - "release": "1.0", - "sdk": { - "integrations": [ - "InboundFilters", - "FunctionToString", - "TryCatch", - "Breadcrumbs", - "GlobalHandlers", - "LinkedErrors", - "Dedupe", - "UserAgent" - ], - "name": "sentry.javascript.browser", - "version": "6.19.2", - "packages": [{ "name": "npm:@sentry/browser", "version": "6.19.2" }] - }, - "request": { - "url": "http://localhost:8080/", - "headers": { - "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0" - } - }, - "tags": { "skippedNormalization": true }, - "extra": { "normalizeDepth": 3 } -} diff --git a/events/test_data/js_event.json b/events/test_data/js_event.json deleted file mode 100644 index af653660..00000000 --- a/events/test_data/js_event.json +++ /dev/null @@ -1,72 +0,0 @@ -{ - "exception": { - "values": [ - { - "type": "Error", - "value": "blarg", - "stacktrace": { - "frames": [ - { - "colno": 29, - "filename": "http://localhost:4200/polyfills.js", - "function": "timer", - "in_app": true, - "lineno": 5656 - }, - { - "colno": 48, - "filename": "http://localhost:4200/polyfills.js", - "function": "ZoneTask.invoke", - "in_app": true, - "lineno": 3460 - } - ] - }, - "mechanism": { "handled": true, "type": "generic" } - } - ] - }, - "level": "error", - "event_id": "1b80eac88dad40eeabe6356db6f9359d", - "platform": "javascript", - "sdk": { - "name": "sentry.javascript.browser", - "packages": [{ "name": "npm:@sentry/browser", "version": "5.7.1" }], - "version": "5.7.1", - "integrations": [ - "InboundFilters", - "FunctionToString", - "TryCatch", - "Breadcrumbs", - "GlobalHandlers", - "LinkedErrors", - "UserAgent" - ] - }, - "release": "1.13.3", - "breadcrumbs": [ - { - "timestamp": 1574283165.869, - "category": "xhr", - "data": { - "method": "GET", - "url": "http://localhost:4200/sockjs-node/info?t=1574283165820", - "status_code": 200 - }, - "type": "http" - }, - { - "timestamp": 1574283166.547, - "category": "console", - "data": { "extra": { "arguments": ["wut"] }, "logger": "console" }, - "level": "log", - "message": "wut" - } - ], - "request": { - "url": "http://localhost:4200/account/login", - "headers": { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36" - } - } -} diff --git a/events/test_data/oss_sentry_events/README.md b/events/test_data/oss_sentry_events/README.md deleted file mode 100644 index a5dd0999..00000000 --- a/events/test_data/oss_sentry_events/README.md +++ /dev/null @@ -1,6 +0,0 @@ -These events are taken from open source sentry to test for compatibility. `/api/0/issues//events/latest/` - -1. Make an event in a error factory project -2. Save the JSON in the test_data/incoming_events directory. -3. Send the same JSON to an open source sentry instance. Use something such as postwomen. Do not send it from the error factory project again as it will have a different timestamp and event id. -4. Save results in this directory. diff --git a/events/test_data/oss_sentry_events/small_js_error_source.json b/events/test_data/oss_sentry_events/small_js_error_source.json deleted file mode 100644 index f1735670..00000000 --- a/events/test_data/oss_sentry_events/small_js_error_source.json +++ /dev/null @@ -1,403 +0,0 @@ -{ - "eventID": "f4e67b1b9293445a9545465b0b58696c", - "dist": null, - "userReport": null, - "projectID": "11", - "previousEventID": null, - "message": "Error this is an error webpack://small-js-error-factory/./src/index.ts ?(src/index)", - "id": "5255", - "size": 4575, - "errors": [], - "culprit": "?(src/index)", - "title": "Error: this is an error", - "platform": "javascript", - "location": "webpack://small-js-error-factory/./src/index.ts", - "nextEventID": null, - "type": "error", - "metadata": { - "type": "Error", - "value": "this is an error", - "filename": "webpack://small-js-error-factory/./src/index.ts" - }, - "groupingConfig": { - "id": "legacy:2019-03-12" - }, - "crashFile": null, - "tags": [ - { - "value": "Firefox 98.0", - "key": "browser", - "_meta": null - }, - { - "value": "Firefox", - "key": "browser.name", - "_meta": null - }, - { - "value": "production", - "key": "environment", - "_meta": null - }, - { - "value": "no", - "key": "handled", - "_meta": null - }, - { - "value": "error", - "key": "level", - "_meta": null - }, - { - "value": "onerror", - "key": "mechanism", - "_meta": null - }, - { - "value": "Ubuntu", - "key": "os.name", - "_meta": null - }, - { - "value": "1.0", - "key": "release", - "_meta": null - }, - { - "value": "True", - "key": "skippedNormalization", - "_meta": null - }, - { - "value": "http://localhost:8080/", - "key": "url", - "_meta": null - }, - { - "query": "user.ip:71.249.111.206", - "value": "ip:71.249.111.206", - "key": "user", - "_meta": null - } - ], - "dateCreated": "2022-04-02T19:44:43.501Z", - "dateReceived": "2022-04-02T19:49:58.910Z", - "user": { - "username": null, - "name": null, - "ip_address": "71.249.111.206", - "email": null, - "data": {}, - "id": null - }, - "entries": [ - { - "type": "exception", - "data": { - "values": [ - { - "stacktrace": { - "frames": [ - { - "function": null, - "map": "bundle.js.map", - "colNo": 13, - "vars": null, - "symbol": null, - "mapUrl": "http://localhost:8080/dist/bundle.js.map", - "module": "src/index", - "origAbsPath": "?", - "lineNo": 6, - "origColNo": "?", - "trust": null, - "origFunction": "?", - "errors": null, - "package": null, - "absPath": "webpack://small-js-error-factory/./src/index.ts", - "inApp": false, - "instructionAddr": null, - "filename": "webpack://small-js-error-factory/./src/index.ts", - "origFilename": "?", - "platform": null, - "context": [ - [1, "import * as Sentry from \"@sentry/browser\";"], - [2, ""], - [ - 3, - "Sentry.init({\"dsn\": \"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\", \"release\": \"1.0\"});" - ], - [4, ""], - [5, "let foo = \"bar\";"], - [6, "throw Error(\"this is an error\");"], - [7, "console.log(foo);"], - [8, ""] - ], - "symbolAddr": null, - "origLineNo": "?" - }, - { - "function": null, - "map": "bundle.js.map", - "colNo": 13, - "vars": null, - "symbol": null, - "mapUrl": "http://localhost:8080/dist/bundle.js.map", - "module": "src/index", - "origAbsPath": "?", - "lineNo": 6, - "origColNo": "?", - "trust": null, - "origFunction": "?", - "errors": null, - "package": null, - "absPath": "webpack://small-js-error-factory/./src/index.ts", - "inApp": false, - "instructionAddr": null, - "filename": "webpack://small-js-error-factory/./src/index.ts", - "origFilename": "?", - "platform": null, - "context": [ - [1, "import * as Sentry from \"@sentry/browser\";"], - [2, ""], - [ - 3, - "Sentry.init({\"dsn\": \"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\", \"release\": \"1.0\"});" - ], - [4, ""], - [5, "let foo = \"bar\";"], - [6, "throw Error(\"this is an error\");"], - [7, "console.log(foo);"], - [8, ""] - ], - "symbolAddr": null, - "origLineNo": "?" - }, - { - "function": null, - "map": "bundle.js.map", - "colNo": 7, - "vars": null, - "symbol": null, - "mapUrl": "http://localhost:8080/dist/bundle.js.map", - "module": "src/index", - "origAbsPath": "?", - "lineNo": 6, - "origColNo": "?", - "trust": null, - "origFunction": "?", - "errors": null, - "package": null, - "absPath": "webpack://small-js-error-factory/./src/index.ts", - "inApp": false, - "instructionAddr": null, - "filename": "webpack://small-js-error-factory/./src/index.ts", - "origFilename": "?", - "platform": null, - "context": [ - [1, "import * as Sentry from \"@sentry/browser\";"], - [2, ""], - [ - 3, - "Sentry.init({\"dsn\": \"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\", \"release\": \"1.0\"});" - ], - [4, ""], - [5, "let foo = \"bar\";"], - [6, "throw Error(\"this is an error\");"], - [7, "console.log(foo);"], - [8, ""] - ], - "symbolAddr": null, - "origLineNo": "?" - } - ], - "framesOmitted": null, - "registers": null, - "hasSystemFrames": false - }, - "module": null, - "rawStacktrace": { - "frames": [ - { - "function": null, - "colNo": 74022, - "vars": null, - "symbol": null, - "module": null, - "lineNo": 2, - "trust": null, - "errors": null, - "package": null, - "absPath": "http://localhost:8080/dist/bundle.js", - "inApp": false, - "instructionAddr": null, - "filename": "/dist/bundle.js", - "platform": null, - "context": [ - [ - 1, - "/*! For license information please see bundle.js.LICENSE.txt */" - ], - [ - 2, - "{snip} ,(()=>{throw n(185).init({dsn:\"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\",release:\"1.0\"}),Error(\"this is an error\")})()})();" - ], - [3, "//# sourceMappingURL=bundle.js.map"] - ], - "symbolAddr": null - }, - { - "function": null, - "colNo": 74018, - "vars": null, - "symbol": null, - "module": null, - "lineNo": 2, - "trust": null, - "errors": null, - "package": null, - "absPath": "http://localhost:8080/dist/bundle.js", - "inApp": false, - "instructionAddr": null, - "filename": "/dist/bundle.js", - "platform": null, - "context": [ - [ - 1, - "/*! For license information please see bundle.js.LICENSE.txt */" - ], - [ - 2, - "{snip} ,(()=>{throw n(185).init({dsn:\"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\",release:\"1.0\"}),Error(\"this is an error\")})()})();" - ], - [3, "//# sourceMappingURL=bundle.js.map"] - ], - "symbolAddr": null - }, - { - "function": null, - "colNo": 73991, - "vars": null, - "symbol": null, - "module": null, - "lineNo": 2, - "trust": null, - "errors": null, - "package": null, - "absPath": "http://localhost:8080/dist/bundle.js", - "inApp": false, - "instructionAddr": null, - "filename": "/dist/bundle.js", - "platform": null, - "context": [ - [ - 1, - "/*! For license information please see bundle.js.LICENSE.txt */" - ], - [ - 2, - "{snip} ,(()=>{throw n(185).init({dsn:\"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\",release:\"1.0\"}),Error(\"this is an error\")})()})();" - ], - [3, "//# sourceMappingURL=bundle.js.map"] - ], - "symbolAddr": null - } - ], - "framesOmitted": null, - "registers": null, - "hasSystemFrames": false - }, - "mechanism": { - "type": "onerror", - "handled": false - }, - "threadId": null, - "value": "this is an error", - "type": "Error" - } - ], - "excOmitted": null, - "hasSystemFrames": false - } - }, - { - "type": "request", - "data": { - "fragment": "", - "cookies": [], - "inferredContentType": null, - "env": null, - "headers": [ - [ - "User-Agent", - "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0" - ] - ], - "url": "http://localhost:8080/", - "query": [], - "data": null, - "method": null - } - } - ], - "packages": {}, - "sdk": { - "version": "6.19.2", - "name": "sentry.javascript.browser", - "upstream": { - "url": null, - "isNewer": false, - "name": "sentry.javascript.browser" - } - }, - "_meta": { - "user": null, - "context": null, - "entries": {}, - "contexts": null, - "message": null, - "packages": null, - "tags": {}, - "sdk": null - }, - "contexts": { - "os": { - "type": "os", - "name": "Ubuntu" - }, - "browser": { - "version": "98.0", - "type": "browser", - "name": "Firefox" - } - }, - "fingerprints": ["d75931e06f591a159796e023fd11afae"], - "context": { - "normalizeDepth": 3 - }, - "release": { - "dateReleased": null, - "commitCount": 0, - "url": null, - "data": {}, - "lastDeploy": null, - "deployCount": 0, - "dateCreated": "2022-04-02T19:47:38.318Z", - "lastEvent": "2022-04-02T19:44:43.501Z", - "version": "1.0", - "firstEvent": "2022-04-02T19:48:09.247Z", - "lastCommit": null, - "shortVersion": "1.0", - "authors": [], - "owner": null, - "newGroups": 1, - "ref": null, - "projects": [ - { - "slug": "my-js-project", - "name": "My JS Project" - } - ] - }, - "groupID": "314" -} diff --git a/events/test_data/oss_sentry_json/small_js_error_source.json b/events/test_data/oss_sentry_json/small_js_error_source.json deleted file mode 100644 index d81130aa..00000000 --- a/events/test_data/oss_sentry_json/small_js_error_source.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "event_id": "f4e67b1b9293445a9545465b0b58696c", - "project": 11, - "release": "1.0", - "dist": null, - "platform": "javascript", - "message": "", - "datetime": "2022-04-02T19:44:43.501000Z", - "time_spent": null, - "tags": [ - ["browser", "Firefox 98.0"], - ["browser.name", "Firefox"], - ["environment", "production"], - ["handled", "no"], - ["level", "error"], - ["mechanism", "onerror"], - ["os.name", "Ubuntu"], - ["release", "1.0"], - ["user", "ip:71.249.111.206"], - ["skippedNormalization", "True"], - ["url", "http://localhost:8080/"] - ], - "contexts": { - "os": { "version": null, "name": "Ubuntu" }, - "browser": { "version": "98.0", "name": "Firefox" } - }, - "culprit": "?(src/index)", - "environment": "production", - "exception": { - "values": [ - { - "stacktrace": { - "frames": [ - { - "abs_path": "webpack://small-js-error-factory/./src/index.ts", - "pre_context": [ - "import * as Sentry from \"@sentry/browser\";", - "", - "Sentry.init({\"dsn\": \"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\", \"release\": \"1.0\"});", - "", - "let foo = \"bar\";" - ], - "post_context": ["console.log(foo);", ""], - "module": "src/index", - "in_app": false, - "lineno": 6, - "colno": 13, - "filename": "webpack://small-js-error-factory/./src/index.ts", - "data": { - "sourcemap": "http://localhost:8080/dist/bundle.js.map" - }, - "context_line": "throw Error(\"this is an error\");" - }, - { - "abs_path": "webpack://small-js-error-factory/./src/index.ts", - "pre_context": [ - "import * as Sentry from \"@sentry/browser\";", - "", - "Sentry.init({\"dsn\": \"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\", \"release\": \"1.0\"});", - "", - "let foo = \"bar\";" - ], - "post_context": ["console.log(foo);", ""], - "module": "src/index", - "in_app": false, - "lineno": 6, - "colno": 13, - "filename": "webpack://small-js-error-factory/./src/index.ts", - "data": { - "sourcemap": "http://localhost:8080/dist/bundle.js.map" - }, - "context_line": "throw Error(\"this is an error\");" - }, - { - "abs_path": "webpack://small-js-error-factory/./src/index.ts", - "pre_context": [ - "import * as Sentry from \"@sentry/browser\";", - "", - "Sentry.init({\"dsn\": \"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\", \"release\": \"1.0\"});", - "", - "let foo = \"bar\";" - ], - "post_context": ["console.log(foo);", ""], - "module": "src/index", - "in_app": false, - "lineno": 6, - "colno": 7, - "filename": "webpack://small-js-error-factory/./src/index.ts", - "data": { - "sourcemap": "http://localhost:8080/dist/bundle.js.map" - }, - "context_line": "throw Error(\"this is an error\");" - } - ] - }, - "raw_stacktrace": { - "frames": [ - { - "abs_path": "http://localhost:8080/dist/bundle.js", - "pre_context": [ - "/*! For license information please see bundle.js.LICENSE.txt */" - ], - "post_context": ["//# sourceMappingURL=bundle.js.map"], - "in_app": false, - "lineno": 2, - "colno": 74022, - "filename": "/dist/bundle.js", - "context_line": "{snip} ,(()=>{throw n(185).init({dsn:\"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\",release:\"1.0\"}),Error(\"this is an error\")})()})();" - }, - { - "abs_path": "http://localhost:8080/dist/bundle.js", - "pre_context": [ - "/*! For license information please see bundle.js.LICENSE.txt */" - ], - "post_context": ["//# sourceMappingURL=bundle.js.map"], - "in_app": false, - "lineno": 2, - "colno": 74018, - "filename": "/dist/bundle.js", - "context_line": "{snip} ,(()=>{throw n(185).init({dsn:\"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\",release:\"1.0\"}),Error(\"this is an error\")})()})();" - }, - { - "abs_path": "http://localhost:8080/dist/bundle.js", - "pre_context": [ - "/*! For license information please see bundle.js.LICENSE.txt */" - ], - "post_context": ["//# sourceMappingURL=bundle.js.map"], - "in_app": false, - "lineno": 2, - "colno": 73991, - "filename": "/dist/bundle.js", - "context_line": "{snip} ,(()=>{throw n(185).init({dsn:\"http://a00ad5cad416418684270e433baf9c77@172.17.0.1:8000/4\",release:\"1.0\"}),Error(\"this is an error\")})()})();" - } - ] - }, - "value": "this is an error", - "mechanism": { "type": "onerror", "handled": false }, - "type": "Error" - } - ] - }, - "extra": { "normalizeDepth": 3 }, - "fingerprint": ["{{ default }}"], - "grouping_config": { "id": "legacy:2019-03-12" }, - "hashes": ["d75931e06f591a159796e023fd11afae"], - "key_id": "11", - "level": "error", - "location": "webpack://small-js-error-factory/./src/index.ts", - "logger": "", - "metadata": { - "type": "Error", - "value": "this is an error", - "filename": "webpack://small-js-error-factory/./src/index.ts" - }, - "received": 1648928998.91, - "request": { - "url": "http://localhost:8080/", - "headers": [ - [ - "User-Agent", - "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0" - ] - ] - }, - "sdk": { - "version": "6.19.2", - "name": "sentry.javascript.browser", - "packages": [{ "version": "6.19.2", "name": "npm:@sentry/browser" }], - "integrations": [ - "InboundFilters", - "FunctionToString", - "TryCatch", - "Breadcrumbs", - "GlobalHandlers", - "LinkedErrors", - "Dedupe", - "UserAgent" - ] - }, - "timestamp": 1648928683.501, - "title": "Error: this is an error", - "type": "error", - "use_rust_normalize": true, - "user": { "ip_address": "71.249.111.206" }, - "version": "7" -} diff --git a/events/test_data/transactions/environment_release.json b/events/test_data/transactions/environment_release.json deleted file mode 100644 index a0562405..00000000 --- a/events/test_data/transactions/environment_release.json +++ /dev/null @@ -1,123 +0,0 @@ -[ - { - "event_id": "037419a37a8e426ba52e82cd647f2d14", - "sent_at": "2022-08-01T16:59:58.064Z", - "sdk": { "name": "sentry.javascript.angular", "version": "7.8.1" }, - "trace": { - "environment": "dev", - "release": "1.0", - "public_key": "4d886b61b58e48a685455c51c434d2a6", - "trace_id": "df3b21283b08480ba166b32692d85453", - "sample_rate": "1" - } - }, - { - "type": "transaction", - "sample_rates": [{ "id": "client_sampler", "rate": 1 }] - }, - { - "contexts": { - "angular": { "version": 14 }, - "trace": { - "op": "pageload", - "span_id": "a468669a1489ecf7", - "tags": { - "hardwareConcurrency": "16", - "sentry_reportAllChanges": false - }, - "trace_id": "df3b21283b08480ba166b32692d85453" - } - }, - "spans": [ - { - "description": "unloadEvent", - "op": "browser", - "parent_span_id": "a468669a1489ecf7", - "span_id": "a39d104d785c87c3", - "start_timestamp": 1659373196.921, - "timestamp": 1659373196.921, - "trace_id": "df3b21283b08480ba166b32692d85453" - }, - { - "description": "first-contentful-paint", - "op": "paint", - "parent_span_id": "a468669a1489ecf7", - "span_id": "ba375d967f28e05b", - "start_timestamp": 1659373197.0779998, - "timestamp": 1659373197.0779998, - "trace_id": "df3b21283b08480ba166b32692d85453" - } - ], - "start_timestamp": 1659373196.891, - "tags": { "hardwareConcurrency": "16", "sentry_reportAllChanges": false }, - "timestamp": 1659373197.135, - "transaction": "/tracing", - "type": "transaction", - "transaction_info": { "source": "url" }, - "measurements": { - "fcp": { "value": 186.99979782104492, "unit": "millisecond" }, - "mark.fcp": { "value": 1659373197.0779998, "unit": "second" }, - "ttfb": { "value": 26.999950408935547, "unit": "millisecond" }, - "ttfb.requestTime": { "value": 0.9999275207519531, "unit": "millisecond" } - }, - "platform": "javascript", - "event_id": "037419a37a8e426ba52e82cd647f2d14", - "environment": "dev", - "release": "1.0", - "sdk": { - "integrations": [ - "InboundFilters", - "FunctionToString", - "TryCatch", - "Breadcrumbs", - "GlobalHandlers", - "LinkedErrors", - "Dedupe", - "HttpContext", - "BrowserTracing" - ], - "name": "sentry.javascript.angular", - "version": "7.8.1", - "packages": [{ "name": "npm:@sentry/angular", "version": "7.8.1" }] - }, - "breadcrumbs": [ - { - "timestamp": 1659373197.052, - "category": "console", - "data": { "arguments": ["what what"], "logger": "console" }, - "level": "log", - "message": "what what" - }, - { - "timestamp": 1659373197.052, - "category": "console", - "data": { "arguments": ["DOIT"], "logger": "console" }, - "level": "log", - "message": "DOIT" - }, - { - "timestamp": 1659373197.074, - "category": "console", - "data": { - "arguments": [ - "Angular is running in development mode. Call enableProdMode() to enable production mode." - ], - "logger": "console" - }, - "level": "log", - "message": "Angular is running in development mode. Call enableProdMode() to enable production mode." - }, - { - "timestamp": 1659373197.08, - "category": "navigation", - "data": { "from": "/tracing", "to": "/tracing" } - } - ], - "request": { - "url": "http://localhost:4201/tracing", - "headers": { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:103.0) Gecko/20100101 Firefox/103.0" - } - } - } -] diff --git a/events/test_data/transactions/fun.json b/events/test_data/transactions/fun.json deleted file mode 100644 index 783ecbf2..00000000 --- a/events/test_data/transactions/fun.json +++ /dev/null @@ -1,190 +0,0 @@ -{ - "type": "transaction", - "transaction": "/", - "contexts": { - "trace": { - "trace_id": "581eb3bc1f4740eea53717cb7f7450f6", - "span_id": "a51f11f130d703b2", - "parent_span_id": null, - "op": "http.server", - "description": null, - "status": "ok" - }, - "runtime": { - "name": "CPython", - "version": "3.9.1", - "build": "3.9.1 (default, Dec 11 2020, 14:22:09) \n[GCC 8.3.0]" - } - }, - "tags": { "http.status_code": "200" }, - "timestamp": "2020-12-29T17:51:08.468108Z", - "start_timestamp": "2020-12-29T17:51:08.458023Z", - "spans": [ - { - "trace_id": "581eb3bc1f4740eea53717cb7f7450f6", - "span_id": "b822e9dedc69ad38", - "parent_span_id": "a51f11f130d703b2", - "same_process_as_parent": true, - "op": "django.middleware", - "description": "django.middleware.security.SecurityMiddleware.__call__", - "start_timestamp": "2020-12-29T17:51:08.459184Z", - "timestamp": "2020-12-29T17:51:08.467908Z", - "tags": { - "django.function_name": "django.utils.deprecation.MiddlewareMixin.__call__", - "django.middleware_name": "django.middleware.security.SecurityMiddleware" - } - }, - { - "trace_id": "581eb3bc1f4740eea53717cb7f7450f6", - "span_id": "bc3b7d5de96413aa", - "parent_span_id": "b822e9dedc69ad38", - "same_process_as_parent": true, - "op": "django.middleware", - "description": "django.contrib.sessions.middleware.SessionMiddleware.__call__", - "start_timestamp": "2020-12-29T17:51:08.459378Z", - "timestamp": "2020-12-29T17:51:08.467850Z", - "tags": { - "django.function_name": "django.utils.deprecation.MiddlewareMixin.__call__", - "django.middleware_name": "django.contrib.sessions.middleware.SessionMiddleware" - } - }, - { - "trace_id": "581eb3bc1f4740eea53717cb7f7450f6", - "span_id": "b32df5137e2bda2e", - "parent_span_id": "bc3b7d5de96413aa", - "same_process_as_parent": true, - "op": "django.middleware", - "description": "django.middleware.common.CommonMiddleware.__call__", - "start_timestamp": "2020-12-29T17:51:08.459741Z", - "timestamp": "2020-12-29T17:51:08.467817Z", - "tags": { - "django.function_name": "django.utils.deprecation.MiddlewareMixin.__call__", - "django.middleware_name": "django.middleware.common.CommonMiddleware" - } - }, - { - "trace_id": "581eb3bc1f4740eea53717cb7f7450f6", - "span_id": "aea5c38d0ed37a0a", - "parent_span_id": "b32df5137e2bda2e", - "same_process_as_parent": true, - "op": "django.middleware", - "description": "django.middleware.csrf.CsrfViewMiddleware.__call__", - "start_timestamp": "2020-12-29T17:51:08.459987Z", - "timestamp": "2020-12-29T17:51:08.467742Z", - "tags": { - "django.function_name": "django.utils.deprecation.MiddlewareMixin.__call__", - "django.middleware_name": "django.middleware.csrf.CsrfViewMiddleware" - } - }, - { - "trace_id": "581eb3bc1f4740eea53717cb7f7450f6", - "span_id": "96637f64cccce95c", - "parent_span_id": "aea5c38d0ed37a0a", - "same_process_as_parent": true, - "op": "django.middleware", - "description": "django.contrib.auth.middleware.AuthenticationMiddleware.__call__", - "start_timestamp": "2020-12-29T17:51:08.460158Z", - "timestamp": "2020-12-29T17:51:08.467536Z", - "tags": { - "django.function_name": "django.utils.deprecation.MiddlewareMixin.__call__", - "django.middleware_name": "django.contrib.auth.middleware.AuthenticationMiddleware" - } - }, - { - "trace_id": "581eb3bc1f4740eea53717cb7f7450f6", - "span_id": "b26d935f9bb37598", - "parent_span_id": "96637f64cccce95c", - "same_process_as_parent": true, - "op": "django.middleware", - "description": "django.contrib.messages.middleware.MessageMiddleware.__call__", - "start_timestamp": "2020-12-29T17:51:08.460300Z", - "timestamp": "2020-12-29T17:51:08.467519Z", - "tags": { - "django.function_name": "django.utils.deprecation.MiddlewareMixin.__call__", - "django.middleware_name": "django.contrib.messages.middleware.MessageMiddleware" - } - }, - { - "trace_id": "581eb3bc1f4740eea53717cb7f7450f6", - "span_id": "ab1235482d7ab4c3", - "parent_span_id": "b26d935f9bb37598", - "same_process_as_parent": true, - "op": "django.middleware", - "description": "django.middleware.clickjacking.XFrameOptionsMiddleware.__call__", - "start_timestamp": "2020-12-29T17:51:08.460705Z", - "timestamp": "2020-12-29T17:51:08.467470Z", - "tags": { - "django.function_name": "django.utils.deprecation.MiddlewareMixin.__call__", - "django.middleware_name": "django.middleware.clickjacking.XFrameOptionsMiddleware" - } - }, - { - "trace_id": "581eb3bc1f4740eea53717cb7f7450f6", - "span_id": "9196aae1b05da8d2", - "parent_span_id": "ab1235482d7ab4c3", - "same_process_as_parent": true, - "op": "django.middleware", - "description": "django.middleware.csrf.CsrfViewMiddleware.process_view", - "start_timestamp": "2020-12-29T17:51:08.461004Z", - "timestamp": "2020-12-29T17:51:08.461040Z", - "tags": { - "django.function_name": "django.middleware.csrf.CsrfViewMiddleware.process_view", - "django.middleware_name": "django.middleware.csrf.CsrfViewMiddleware" - } - }, - { - "trace_id": "581eb3bc1f4740eea53717cb7f7450f6", - "span_id": "9990658f017f5a82", - "parent_span_id": "ab1235482d7ab4c3", - "same_process_as_parent": true, - "op": "django.view", - "description": "home", - "start_timestamp": "2020-12-29T17:51:08.461294Z", - "timestamp": "2020-12-29T17:51:08.461498Z" - } - ], - "event_id": "5a337086bc1545448e29ed938729cba3", - "extra": { "sys.argv": ["./manage.py", "runserver", "0.0.0.0:8001"] }, - "request": { - "url": "http://localhost:8001/", - "query_string": "", - "method": "GET", - "env": { "SERVER_NAME": "45e6cd65994c", "SERVER_PORT": "8001" }, - "headers": { - "Content-Length": "", - "Content-Type": "text/plain", - "Host": "localhost:8001", - "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0", - "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", - "Accept-Language": "en-US,en;q=0.5", - "Accept-Encoding": "gzip, deflate", - "Connection": "keep-alive", - "Cookie": "", - "Upgrade-Insecure-Requests": "1", - "Cache-Control": "max-age=0" - } - }, - "server_name": "45e6cd65994c", - "sdk": { - "name": "sentry.python", - "version": "0.19.5", - "packages": [{ "name": "pypi:sentry-sdk", "version": "0.19.5" }], - "integrations": [ - "argv", - "atexit", - "dedupe", - "django", - "excepthook", - "logging", - "modules", - "stdlib", - "threading" - ] - }, - "platform": "python", - "_meta": { - "request": { - "headers": { "Cookie": { "": { "rem": [["!config", "x", 0, 445]] } } } - } - } -} diff --git a/events/test_data/transactions/fun2.json b/events/test_data/transactions/fun2.json deleted file mode 100644 index 83216210..00000000 --- a/events/test_data/transactions/fun2.json +++ /dev/null @@ -1,182 +0,0 @@ -{ - "contexts": { - "trace": { - "op": "pageload", - "span_id": "a133c27dc47e7aa0", - "tags": { - "__sentry_samplingMethod": "client_rate", - "__sentry_sampleRate": "1", - "hardwareConcurrency": "8" - }, - "trace_id": "f35be933b211460a986593077f31cae7" - } - }, - "spans": [ - { - "data": { - "type": "xhr", - "method": "GET", - "url": "http://localhost:4201/sockjs-node/info?t=1609289196609" - }, - "description": "GET http://localhost:4201/sockjs-node/info?t=1609289196609", - "op": "http", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "a7407cde318bdc8a", - "start_timestamp": 1609289196.61, - "status": "ok", - "tags": { "http.status_code": "200" }, - "timestamp": 1609289196.616, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "unloadEvent", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "8eb61fd4a8b455fb", - "start_timestamp": 1609289196.442, - "timestamp": 1609289196.442, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "domContentLoadedEvent", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b07d15804415324b", - "start_timestamp": 1609289196.604, - "timestamp": 1609289196.604, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "loadEvent", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "9fafc65a72e38c38", - "start_timestamp": 1609289196.604, - "timestamp": 1609289196.604, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "connect", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "a7a78cccbf42b78d", - "start_timestamp": 1609289196.433, - "timestamp": 1609289196.433, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "domainLookup", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b5a567978ef2d3aa", - "start_timestamp": 1609289196.433, - "timestamp": 1609289196.433, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "request", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "aae9e36596422dbc", - "start_timestamp": 1609289196.437, - "timestamp": 1609289196.438, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:PromiseRejectionEvent", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "a01a87453dac708f", - "start_timestamp": 1609289196.482, - "timestamp": 1609289196.482, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "sentry-tracing-init", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b0c7959922286bf0", - "start_timestamp": 1609289196.558, - "timestamp": 1609289196.558, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "first-contentful-paint", - "op": "paint", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "83691247574aed87", - "start_timestamp": 1609289196.558, - "timestamp": 1609289196.558, - "trace_id": "f35be933b211460a986593077f31cae7" - } - ], - "start_timestamp": 1609289196.433, - "tags": { "hardwareConcurrency": "8" }, - "timestamp": 1609289196.616, - "transaction": "/", - "type": "transaction", - "measurements": { - "ttfb": { "value": 4.999876022338867 }, - "ttfb.requestTime": { "value": 1 }, - "fcp": { "value": 125 }, - "mark.fcp": { "value": 1609289196.558 } - }, - "platform": "javascript", - "sdk": { - "name": "sentry.javascript.browser", - "packages": [{ "name": "npm:@sentry/browser", "version": "5.29.2" }], - "version": "5.29.2", - "integrations": [ - "InboundFilters", - "FunctionToString", - "TryCatch", - "Breadcrumbs", - "GlobalHandlers", - "LinkedErrors", - "UserAgent", - "BrowserTracing" - ] - }, - "event_id": "35b3e388b2eb4753a60ae9943626e3bc", - "environment": "production", - "breadcrumbs": [ - { - "timestamp": 1609289196.594, - "category": "console", - "data": { - "arguments": [ - "Angular is running in development mode. Call enableProdMode() to enable production mode." - ], - "logger": "console" - }, - "level": "log", - "message": "Angular is running in development mode. Call enableProdMode() to enable production mode." - }, - { - "timestamp": 1609289196.599, - "category": "navigation", - "data": { "from": "/", "to": "/" } - }, - { - "timestamp": 1609289196.607, - "category": "ui.click", - "message": "body > app-root > ol > li > button" - }, - { - "timestamp": 1609289196.616, - "category": "xhr", - "data": { - "method": "GET", - "url": "http://localhost:4201/sockjs-node/info?t=1609289196609", - "status_code": 200 - }, - "type": "http" - } - ], - "request": { - "url": "http://localhost:4201/", - "headers": { - "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0" - } - } -} diff --git a/events/test_data/transactions/js_angular.json b/events/test_data/transactions/js_angular.json deleted file mode 100644 index b4d11b41..00000000 --- a/events/test_data/transactions/js_angular.json +++ /dev/null @@ -1,238 +0,0 @@ -[ - { - "event_id": "aa159604bf264634bf69a542511f10a3", - "sent_at": "2022-07-12T01:31:22.636Z", - "sdk": { - "name": "sentry.javascript.angular", - "version": "7.6.0" - }, - "trace": { - "public_key": "3887bca678924cd3a276f7e57d135ad9", - "trace_id": "58c97bf3cf5d455c864741913e122d41", - "sample_rate": "1" - } - }, - { - "type": "transaction", - "sample_rates": [ - { - "id": "client_sampler", - "rate": 1 - } - ] - }, - { - "contexts": { - "angular": { - "version": 13 - }, - "trace": { - "op": "navigation", - "span_id": "905d36eebee31df8", - "tags": { - "hardwareConcurrency": "16", - "sentry_reportAllChanges": false - }, - "trace_id": "58c97bf3cf5d455c864741913e122d41" - } - }, - "spans": [], - "start_timestamp": 1657589481.622, - "tags": { - "hardwareConcurrency": "16", - "sentry_reportAllChanges": false - }, - "timestamp": 1657589482.623, - "transaction": "/tracing-3", - "type": "transaction", - "transaction_info": { - "source": "url" - }, - "platform": "javascript", - "event_id": "aa159604bf264634bf69a542511f10a3", - "environment": "production", - "sdk": { - "integrations": [ - "InboundFilters", - "FunctionToString", - "TryCatch", - "Breadcrumbs", - "GlobalHandlers", - "LinkedErrors", - "Dedupe", - "HttpContext", - "BrowserTracing" - ], - "name": "sentry.javascript.angular", - "version": "7.6.0", - "packages": [ - { - "name": "npm:@sentry/angular", - "version": "7.6.0" - } - ] - }, - "breadcrumbs": [ - { - "timestamp": 1657588833.579, - "category": "console", - "data": { - "arguments": [ - "Angular is running in development mode. Call enableProdMode() to enable production mode." - ], - "logger": "console" - }, - "level": "log", - "message": "Angular is running in development mode. Call enableProdMode() to enable production mode." - }, - { - "timestamp": 1657588833.583, - "category": "navigation", - "data": { - "from": "/", - "to": "/" - } - }, - { - "timestamp": 1657588841.216, - "category": "ui.click", - "message": "body > app-root > ol > li > button" - }, - { - "timestamp": 1657588841.24, - "category": "sentry.event", - "event_id": "2b6d317ffaee4bf6bf957b5ac703d58e", - "level": "error", - "message": "RangeError: The number must be between 0 and 10." - }, - { - "timestamp": 1657588841.244, - "category": "console", - "data": { - "arguments": [ - { - "message": "The number must be between 0 and 10.", - "name": "RangeError", - "stack": "checkRange@http://localhost:4201/main.js:94:19\nAppComponent_Template_button_click_17_listener@http://localhost:4201/main.js:158:146\nexecuteListenerWithErrorHandling@http://localhost:4201/vendor.js:46108:16\nwrapListenerIn_markDirtyAndPreventDefault@http://localhost:4201/vendor.js:46146:54\ndecoratePreventDefault/<@http://localhost:4201/vendor.js:60555:46\nsentryWrapped@http://localhost:4201/vendor.js:1052:17\ninvokeTask@http://localhost:4201/polyfills.js:3521:31\nonInvokeTask@http://localhost:4201/vendor.js:56672:33\ninvokeTask@http://localhost:4201/polyfills.js:3520:60\nrunTask@http://localhost:4201/polyfills.js:3293:47\ninvokeTask@http://localhost:4201/polyfills.js:3602:34\ninvokeTask@http://localhost:4201/polyfills.js:4715:14\nglobalZoneAwareCallback@http://localhost:4201/polyfills.js:4752:31\n" - } - ], - "logger": "console" - }, - "level": "error", - "message": "RangeError: The number must be between 0 and 10." - }, - { - "timestamp": 1657588842.24, - "category": "ui.click", - "message": "body > app-root > ol > li > button" - }, - { - "timestamp": 1657588842.248, - "category": "console", - "data": { - "arguments": [ - { - "message": "The number must be between 0 and 10.", - "name": "RangeError", - "stack": "checkRange@http://localhost:4201/main.js:94:19\nAppComponent_Template_button_click_17_listener@http://localhost:4201/main.js:158:146\nexecuteListenerWithErrorHandling@http://localhost:4201/vendor.js:46108:16\nwrapListenerIn_markDirtyAndPreventDefault@http://localhost:4201/vendor.js:46146:54\ndecoratePreventDefault/<@http://localhost:4201/vendor.js:60555:46\nsentryWrapped@http://localhost:4201/vendor.js:1052:17\ninvokeTask@http://localhost:4201/polyfills.js:3521:31\nonInvokeTask@http://localhost:4201/vendor.js:56672:33\ninvokeTask@http://localhost:4201/polyfills.js:3520:60\nrunTask@http://localhost:4201/polyfills.js:3293:47\ninvokeTask@http://localhost:4201/polyfills.js:3602:34\ninvokeTask@http://localhost:4201/polyfills.js:4715:14\nglobalZoneAwareCallback@http://localhost:4201/polyfills.js:4752:31\n" - } - ], - "logger": "console" - }, - "level": "error", - "message": "RangeError: The number must be between 0 and 10." - }, - { - "timestamp": 1657588842.621, - "category": "console", - "data": { - "arguments": [ - { - "message": "The number must be between 0 and 10.", - "name": "RangeError", - "stack": "checkRange@http://localhost:4201/main.js:94:19\nAppComponent_Template_button_click_17_listener@http://localhost:4201/main.js:158:146\nexecuteListenerWithErrorHandling@http://localhost:4201/vendor.js:46108:16\nwrapListenerIn_markDirtyAndPreventDefault@http://localhost:4201/vendor.js:46146:54\ndecoratePreventDefault/<@http://localhost:4201/vendor.js:60555:46\nsentryWrapped@http://localhost:4201/vendor.js:1052:17\ninvokeTask@http://localhost:4201/polyfills.js:3521:31\nonInvokeTask@http://localhost:4201/vendor.js:56672:33\ninvokeTask@http://localhost:4201/polyfills.js:3520:60\nrunTask@http://localhost:4201/polyfills.js:3293:47\ninvokeTask@http://localhost:4201/polyfills.js:3602:34\ninvokeTask@http://localhost:4201/polyfills.js:4715:14\nglobalZoneAwareCallback@http://localhost:4201/polyfills.js:4752:31\n" - } - ], - "logger": "console" - }, - "level": "error", - "message": "RangeError: The number must be between 0 and 10." - }, - { - "timestamp": 1657588850.911, - "category": "ui.click", - "message": "body > app-root > ol > li > a" - }, - { - "timestamp": 1657588850.927, - "category": "navigation", - "data": { - "from": "/", - "to": "/tracing" - } - }, - { - "timestamp": 1657588852.439, - "category": "ui.click", - "message": "body > app-root > app-tracing > nav > a" - }, - { - "timestamp": 1657588852.452, - "category": "navigation", - "data": { - "from": "/tracing", - "to": "/tracing-2" - } - }, - { - "timestamp": 1657588853.344, - "category": "ui.click", - "message": "body > app-root > app-tracing-2 > nav > a" - }, - { - "timestamp": 1657588853.351, - "category": "navigation", - "data": { - "from": "/tracing-2", - "to": "/tracing-3" - } - }, - { - "timestamp": 1657588853.369, - "category": "sentry.transaction", - "event_id": "ed89609601d749f1b6d340b840478980", - "message": "ed89609601d749f1b6d340b840478980" - }, - { - "timestamp": 1657588853.982, - "category": "sentry.transaction", - "event_id": "484c0306446245a7a22a2a4047937da2", - "message": "484c0306446245a7a22a2a4047937da2" - }, - { - "timestamp": 1657589477.161, - "category": "ui.click", - "message": "body > app-root > app-tracing-3 > nav > a" - }, - { - "timestamp": 1657589481.582, - "category": "ui.click", - "message": "body > app-root > app-tracing-3 > nav > a" - }, - { - "timestamp": 1657589481.619, - "category": "navigation", - "data": { - "from": "/tracing-3", - "to": "/tracing-2" - } - } - ], - "request": { - "url": "http://localhost:4201/tracing-2", - "headers": { - "User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0" - } - } - } -] \ No newline at end of file diff --git a/events/test_data/transactions/js_simple.json b/events/test_data/transactions/js_simple.json deleted file mode 100644 index 85885e64..00000000 --- a/events/test_data/transactions/js_simple.json +++ /dev/null @@ -1,528 +0,0 @@ -[ - { - "event_id": "35b3e388b2eb4753a60ae9943626e3bc", - "sent_at": "2020-12-30T00:46:37.628Z" - }, - { - "type": "transaction", - "sample_rates": [{ "id": "client_rate", "rate": "1" }] - }, - { - "contexts": { - "trace": { - "op": "pageload", - "span_id": "a133c27dc47e7aa0", - "tags": { - "__sentry_samplingMethod": "client_rate", - "__sentry_sampleRate": "1", - "hardwareConcurrency": "8" - }, - "trace_id": "f35be933b211460a986593077f31cae7" - } - }, - "spans": [ - { - "data": { - "type": "xhr", - "method": "GET", - "url": "http://localhost:4201/sockjs-node/info?t=1609289196609" - }, - "description": "GET http://localhost:4201/sockjs-node/info?t=1609289196609", - "op": "http", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "a7407cde318bdc8a", - "start_timestamp": 1609289196.61, - "status": "ok", - "tags": { "http.status_code": "200" }, - "timestamp": 1609289196.616, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "unloadEvent", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "8eb61fd4a8b455fb", - "start_timestamp": 1609289196.442, - "timestamp": 1609289196.442, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "domContentLoadedEvent", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b07d15804415324b", - "start_timestamp": 1609289196.604, - "timestamp": 1609289196.604, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "loadEvent", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "9fafc65a72e38c38", - "start_timestamp": 1609289196.604, - "timestamp": 1609289196.604, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "connect", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "a7a78cccbf42b78d", - "start_timestamp": 1609289196.433, - "timestamp": 1609289196.433, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "domainLookup", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b5a567978ef2d3aa", - "start_timestamp": 1609289196.433, - "timestamp": 1609289196.433, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "request", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "aae9e36596422dbc", - "start_timestamp": 1609289196.437, - "timestamp": 1609289196.438, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "response", - "op": "browser", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "8721b4652b36a795", - "start_timestamp": 1609289196.438, - "timestamp": 1609289196.438, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "data": { - "Transfer Size": 235, - "Encoded Body Size": 144710, - "Decoded Body Size": 144710 - }, - "description": "/polyfills.js", - "op": "resource.script", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "93f7028f2492d976", - "start_timestamp": 1609289196.444, - "timestamp": 1609289196.457, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "data": { - "Transfer Size": 236, - "Encoded Body Size": 3405569, - "Decoded Body Size": 3405569 - }, - "description": "/vendor.js", - "op": "resource.script", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "8da2a1b55b59ff27", - "start_timestamp": 1609289196.444, - "timestamp": 1609289196.46, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "data": { - "Transfer Size": 234, - "Encoded Body Size": 6299, - "Decoded Body Size": 6299 - }, - "description": "/runtime.js", - "op": "resource.script", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "a62c9439e9342bce", - "start_timestamp": 1609289196.444, - "timestamp": 1609289196.457, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "data": { - "Transfer Size": 232, - "Encoded Body Size": 119, - "Decoded Body Size": 119 - }, - "description": "/styles.css", - "op": "resource.link", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "82da34c19664235b", - "start_timestamp": 1609289196.444, - "timestamp": 1609289196.456, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "data": { - "Transfer Size": 234, - "Encoded Body Size": 26269, - "Decoded Body Size": 26269 - }, - "description": "/main.js", - "op": "resource.script", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "855dbece0a4a9f9a", - "start_timestamp": 1609289196.445, - "timestamp": 1609289196.462, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "data": { - "Transfer Size": 0, - "Encoded Body Size": 948, - "Decoded Body Size": 948 - }, - "description": "/favicon.ico", - "op": "resource.other", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "8ea5bd52f0c2ebd9", - "start_timestamp": 1609289196.451, - "timestamp": 1609289196.615, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "9d5446a9cb74f242", - "start_timestamp": 1609289196.473, - "timestamp": 1609289196.473, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "9eac7e173fc3f950", - "start_timestamp": 1609289196.473, - "timestamp": 1609289196.473, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:ZoneAwarePromise", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b5a996f18bbfe29e", - "start_timestamp": 1609289196.473, - "timestamp": 1609289196.473, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:ZoneAwarePromise", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "9d27c81de3137726", - "start_timestamp": 1609289196.473, - "timestamp": 1609289196.474, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:toString", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "bef7c36b55bef357", - "start_timestamp": 1609289196.474, - "timestamp": 1609289196.474, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:toString", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "8a2917270f6f04ca", - "start_timestamp": 1609289196.474, - "timestamp": 1609289196.474, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:requestAnimationFrame", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b4b7e2fe19c6141b", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.475, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:util", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "bd81c8378aac3a7e", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.475, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:util", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "a7883d2eefb1ebbc", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.475, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:legacy", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "85706f2ab75bfdb5", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.475, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:legacy", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "af42128c5d96f5db", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.475, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:timers", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "90790ab2afad7390", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.475, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:timers", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "94002fc4fb74fefd", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.475, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:requestAnimationFrame", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b24f200ce2a97c6e", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.475, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:blocking", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "a724d987d623deef", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.475, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:blocking", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "9a2e9c32162a9c5c", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.475, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:EventTarget", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "8f44d3e5431ef11f", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.475, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:EventTarget", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b41346fbb4367be7", - "start_timestamp": 1609289196.475, - "timestamp": 1609289196.477, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:on_property", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "9b7de11f174c041c", - "start_timestamp": 1609289196.477, - "timestamp": 1609289196.477, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:on_property", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "8929ee002782b3ec", - "start_timestamp": 1609289196.477, - "timestamp": 1609289196.481, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:customElements", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b147edaa7e2fad57", - "start_timestamp": 1609289196.481, - "timestamp": 1609289196.481, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:XHR", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "8afd32740c301e05", - "start_timestamp": 1609289196.481, - "timestamp": 1609289196.481, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:XHR", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "90abe73c39e1e093", - "start_timestamp": 1609289196.481, - "timestamp": 1609289196.481, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:geolocation", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b59200351a95948d", - "start_timestamp": 1609289196.481, - "timestamp": 1609289196.4819999, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:geolocation", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "a739776ac4dcd1a0", - "start_timestamp": 1609289196.481, - "timestamp": 1609289196.481, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:customElements", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "90f3965b372cf961", - "start_timestamp": 1609289196.481, - "timestamp": 1609289196.481, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:PromiseRejectionEvent", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "8e8ac7cf7a424714", - "start_timestamp": 1609289196.482, - "timestamp": 1609289196.482, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "Zone:PromiseRejectionEvent", - "op": "measure", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "a01a87453dac708f", - "start_timestamp": 1609289196.482, - "timestamp": 1609289196.482, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "sentry-tracing-init", - "op": "mark", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "b0c7959922286bf0", - "start_timestamp": 1609289196.558, - "timestamp": 1609289196.558, - "trace_id": "f35be933b211460a986593077f31cae7" - }, - { - "description": "first-contentful-paint", - "op": "paint", - "parent_span_id": "a133c27dc47e7aa0", - "span_id": "83691247574aed87", - "start_timestamp": 1609289196.558, - "timestamp": 1609289196.558, - "trace_id": "f35be933b211460a986593077f31cae7" - } - ], - "start_timestamp": 1609289196.433, - "tags": { "hardwareConcurrency": "8" }, - "timestamp": 1609289196.616, - "transaction": "/", - "type": "transaction", - "measurements": { - "ttfb": { "value": 4.999876022338867 }, - "ttfb.requestTime": { "value": 1 }, - "fcp": { "value": 125 }, - "mark.fcp": { "value": 1609289196.558 } - }, - "platform": "javascript", - "sdk": { - "name": "sentry.javascript.browser", - "packages": [{ "name": "npm:@sentry/browser", "version": "5.29.2" }], - "version": "5.29.2", - "integrations": [ - "InboundFilters", - "FunctionToString", - "TryCatch", - "Breadcrumbs", - "GlobalHandlers", - "LinkedErrors", - "UserAgent", - "BrowserTracing" - ] - }, - "event_id": "35b3e388b2eb4753a60ae9943626e3bc", - "environment": "production", - "breadcrumbs": [ - { - "timestamp": 1609289196.594, - "category": "console", - "data": { - "arguments": [ - "Angular is running in development mode. Call enableProdMode() to enable production mode." - ], - "logger": "console" - }, - "level": "log", - "message": "Angular is running in development mode. Call enableProdMode() to enable production mode." - }, - { - "timestamp": 1609289196.599, - "category": "navigation", - "data": { "from": "/", "to": "/" } - }, - { - "timestamp": 1609289196.607, - "category": "ui.click", - "message": "body > app-root > ol > li > button" - }, - { - "timestamp": 1609289196.616, - "category": "xhr", - "data": { - "method": "GET", - "url": "http://localhost:4201/sockjs-node/info?t=1609289196609", - "status_code": 200 - }, - "type": "http" - } - ], - "request": { - "url": "http://localhost:4201/", - "headers": { - "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0" - } - } - } -] diff --git a/glitchtip/settings.py b/glitchtip/settings.py index 8382ff44..79358509 100644 --- a/glitchtip/settings.py +++ b/glitchtip/settings.py @@ -249,8 +249,6 @@ INSTALLED_APPS += [ "apps.alerts", "apps.environments", "apps.organizations_ext", - "events", - "issues", "apps.users", "apps.importer", "apps.uptime", diff --git a/issues/__init__.py b/issues/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/issues/migrations/0001_squashed_0010_auto_20210117_1543.py b/issues/migrations/0001_squashed_0010_auto_20210117_1543.py deleted file mode 100644 index 5c1fadc3..00000000 --- a/issues/migrations/0001_squashed_0010_auto_20210117_1543.py +++ /dev/null @@ -1,265 +0,0 @@ -# Generated by Django 3.1.5 on 2021-01-17 17:02 - -import django.contrib.postgres.fields.jsonb -import django.contrib.postgres.indexes -import django.contrib.postgres.search -from django.db import migrations, models -import django.db.models.deletion -import django.utils.timezone -import uuid - - -class Migration(migrations.Migration): - initial = True - - dependencies = [ - ( - "releases", - "0001_squashed_0004_alter_release_id_alter_releasefile_id_and_more", - ), - ( - "projects", - "0001_squashed_0009_alter_project_id_alter_projectcounter_id_and_more", - ), - ( - "projects", - "0001_squashed_0009_alter_project_id_alter_projectcounter_id_and_more", - ), - ] - - operations = [ - migrations.CreateModel( - name="EventTag", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("key", models.CharField(max_length=255)), - ("value", models.CharField(max_length=225)), - ], - ), - migrations.CreateModel( - name="Issue", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created", models.DateTimeField(auto_now_add=True, db_index=True)), - ("culprit", models.CharField(blank=True, max_length=1024, null=True)), - ("has_seen", models.BooleanField(default=False)), - ("is_public", models.BooleanField(default=False)), - ( - "level", - models.PositiveSmallIntegerField( - choices=[ - (0, "sample"), - (1, "debug"), - (2, "info"), - (3, "warning"), - (4, "error"), - (5, "fatal"), - ], - default=0, - ), - ), - ("metadata", django.contrib.postgres.fields.jsonb.JSONField()), - ("title", models.CharField(max_length=255)), - ( - "type", - models.PositiveSmallIntegerField( - choices=[(0, "default"), (1, "error"), (2, "csp")], default=0 - ), - ), - ( - "status", - models.PositiveSmallIntegerField( - choices=[(0, "unresolved"), (1, "resolved"), (2, "ignored")], - default=0, - ), - ), - ( - "project", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="projects.project", - ), - ), - ("count", models.PositiveIntegerField(default=1, editable=False)), - ( - "last_seen", - models.DateTimeField( - auto_now_add=True, default=django.utils.timezone.now - ), - ), - ( - "search_vector", - django.contrib.postgres.search.SearchVectorField( - editable=False, null=True - ), - ), - ], - options={ - "unique_together": {("title", "culprit", "project", "type")}, - }, - ), - migrations.CreateModel( - name="Event", - fields=[ - ( - "event_id", - models.UUIDField( - default=uuid.uuid4, - editable=False, - primary_key=True, - serialize=False, - ), - ), - ( - "timestamp", - models.DateTimeField( - blank=True, - help_text="Date created as claimed by client it came from", - null=True, - ), - ), - ("created", models.DateTimeField(auto_now_add=True, db_index=True)), - ("data", django.contrib.postgres.fields.jsonb.JSONField()), - ( - "issue", - models.ForeignKey( - help_text="Sentry calls this a group", - on_delete=django.db.models.deletion.CASCADE, - to="issues.issue", - ), - ), - ], - options={ - "ordering": ["-created"], - }, - ), - migrations.AddIndex( - model_name="issue", - index=django.contrib.postgres.indexes.GinIndex( - fields=["search_vector"], name="search_vector_idx" - ), - ), - migrations.AddField( - model_name="issue", - name="short_id", - field=models.PositiveIntegerField(null=True), - ), - migrations.AlterUniqueTogether( - name="issue", - unique_together={ - ("title", "culprit", "project", "type"), - ("project", "short_id"), - }, - ), - migrations.RunSQL( - sql="\nDROP TRIGGER IF EXISTS increment_project_counter on issues_issue;\n\nCREATE OR REPLACE FUNCTION increment_project_counter() RETURNS trigger AS $$\nDECLARE\n counter_value int;\nBEGIN\n INSERT INTO projects_projectcounter (value, project_id)\n VALUES (0, NEW.project_id)\n ON CONFLICT (project_id) DO UPDATE SET value = projects_projectcounter.value + 1\n RETURNING value into counter_value;\n NEW.short_id=counter_value;\n RETURN NEW;\nEND;\n$$ LANGUAGE plpgsql;;\n\nCREATE TRIGGER increment_project_counter BEFORE INSERT\nON issues_issue FOR EACH ROW EXECUTE PROCEDURE\nincrement_project_counter();\n", - reverse_sql="DROP TRIGGER IF EXISTS increment_project_counter on issues_issue; DROP FUNCTION IF EXISTS increment_project_counter;", - ), - migrations.CreateModel( - name="EventTagKey", - fields=[ - ( - "id", - models.AutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("key", models.CharField(max_length=255, unique=True)), - ], - ), - migrations.AddField( - model_name="event", - name="tags", - field=models.ManyToManyField(blank=True, to="issues.EventTag"), - ), - migrations.AlterField( - model_name="eventtag", - name="key", - field=models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="issues.eventtagkey" - ), - ), - migrations.AlterUniqueTogether( - name="eventtag", - unique_together={("key", "value")}, - ), - migrations.AlterField( - model_name="event", - name="data", - field=models.JSONField(), - ), - migrations.AlterField( - model_name="issue", - name="metadata", - field=models.JSONField(), - ), - migrations.AlterField( - model_name="issue", - name="last_seen", - field=models.DateTimeField(auto_now_add=True, db_index=True), - ), - migrations.AddField( - model_name="event", - name="release", - field=models.ForeignKey( - blank=True, - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to="releases.release", - ), - ), - migrations.SeparateDatabaseAndState( - database_operations=[ - migrations.AlterModelTable( - name="Event", - table="events_event", - ), - migrations.AlterModelTable( - name="EventTagKey", - table="events_eventtagkey", - ), - migrations.AlterModelTable( - name="EventTag", - table="events_eventtag", - ), - ], - state_operations=[ - migrations.DeleteModel( - name="Event", - ), - migrations.DeleteModel( - name="EventTagKey", - ), - migrations.DeleteModel( - name="EventTag", - ), - ], - ), - migrations.AlterField( - model_name="issue", - name="type", - field=models.PositiveSmallIntegerField( - choices=[(0, "default"), (1, "error"), (2, "csp"), (3, "transaction")], - default=0, - ), - ), - ] diff --git a/issues/migrations/0002_auto_20210219_1931.py b/issues/migrations/0002_auto_20210219_1931.py deleted file mode 100644 index 93c4741e..00000000 --- a/issues/migrations/0002_auto_20210219_1931.py +++ /dev/null @@ -1,27 +0,0 @@ -# Generated by Django 3.1.7 on 2021-02-19 19:31 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("issues", "0001_squashed_0010_auto_20210117_1543"), - ] - - operations = [ - migrations.AlterField( - model_name="issue", - name="level", - field=models.PositiveSmallIntegerField( - choices=[ - (0, "sample"), - (1, "debug"), - (2, "info"), - (3, "warning"), - (4, "error"), - (5, "fatal"), - ], - default=4, - ), - ), - ] diff --git a/issues/migrations/0003_alter_issue_id.py b/issues/migrations/0003_alter_issue_id.py deleted file mode 100644 index a2568a8e..00000000 --- a/issues/migrations/0003_alter_issue_id.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 3.2 on 2021-04-09 16:16 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("issues", "0002_auto_20210219_1931"), - ] - - operations = [ - migrations.AlterField( - model_name="issue", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - ] diff --git a/issues/migrations/0004_alter_issue_id.py b/issues/migrations/0004_alter_issue_id.py deleted file mode 100644 index 42c2bdc4..00000000 --- a/issues/migrations/0004_alter_issue_id.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 3.2 on 2021-04-11 19:13 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("issues", "0003_alter_issue_id"), - ] - - operations = [ - migrations.AlterField( - model_name="issue", - name="id", - field=models.AutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - ] diff --git a/issues/migrations/0005_issue_tags.py b/issues/migrations/0005_issue_tags.py deleted file mode 100644 index ad902fb9..00000000 --- a/issues/migrations/0005_issue_tags.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 3.2.8 on 2021-10-09 23:02 - -from django.db import migrations, models -from .sql.triggers import UPDATE_ISSUE_TRIGGER - - -class Migration(migrations.Migration): - dependencies = [ - ("issues", "0004_alter_issue_id"), - ] - - operations = [ - migrations.AddField( - model_name="issue", - name="tags", - field=models.JSONField(default=dict), - ), - migrations.RunSQL(UPDATE_ISSUE_TRIGGER, UPDATE_ISSUE_TRIGGER), - ] diff --git a/issues/migrations/0006_auto_20220120_0040.py b/issues/migrations/0006_auto_20220120_0040.py deleted file mode 100644 index 474957b9..00000000 --- a/issues/migrations/0006_auto_20220120_0040.py +++ /dev/null @@ -1,11 +0,0 @@ -# Generated by Django 4.0.1 on 2022-01-20 00:40 - -from django.db import migrations - - -class Migration(migrations.Migration): - dependencies = [ - ("issues", "0005_issue_tags"), - ] - - operations = [] diff --git a/issues/migrations/0007_auto_20220715_2048.py b/issues/migrations/0007_auto_20220715_2048.py deleted file mode 100644 index 71f50c3c..00000000 --- a/issues/migrations/0007_auto_20220715_2048.py +++ /dev/null @@ -1,11 +0,0 @@ -# Generated by Django 4.0.6 on 2022-07-15 20:48 - -from django.db import migrations - - -class Migration(migrations.Migration): - dependencies = [ - ("issues", "0006_auto_20220120_0040"), - ] - - operations = [] diff --git a/issues/migrations/0008_auto_20221114_2029.py b/issues/migrations/0008_auto_20221114_2029.py deleted file mode 100644 index a5dede0d..00000000 --- a/issues/migrations/0008_auto_20221114_2029.py +++ /dev/null @@ -1,11 +0,0 @@ -# Generated by Django 4.1.3 on 2022-11-14 20:29 - -from django.db import migrations - - -class Migration(migrations.Migration): - dependencies = [ - ("issues", "0007_auto_20220715_2048"), - ] - - operations = [] diff --git a/issues/migrations/0009_alter_issue_id.py b/issues/migrations/0009_alter_issue_id.py deleted file mode 100644 index 7cf91ffe..00000000 --- a/issues/migrations/0009_alter_issue_id.py +++ /dev/null @@ -1,19 +0,0 @@ -# Generated by Django 4.1.3 on 2022-11-29 15:48 - -from django.db import migrations, models - - -class Migration(migrations.Migration): - dependencies = [ - ("issues", "0008_auto_20221114_2029"), - ] - - operations = [ - migrations.AlterField( - model_name="issue", - name="id", - field=models.BigAutoField( - auto_created=True, primary_key=True, serialize=False, verbose_name="ID" - ), - ), - ] diff --git a/issues/migrations/0010_auto_20221202_0110.py b/issues/migrations/0010_auto_20221202_0110.py deleted file mode 100644 index 2d5f57ef..00000000 --- a/issues/migrations/0010_auto_20221202_0110.py +++ /dev/null @@ -1,11 +0,0 @@ -# Generated by Django 4.1.3 on 2022-12-02 01:10 - -from django.db import migrations - - -class Migration(migrations.Migration): - dependencies = [ - ("issues", "0009_alter_issue_id"), - ] - - operations = [] diff --git a/issues/migrations/0011_auto_20230123_0736.py b/issues/migrations/0011_auto_20230123_0736.py deleted file mode 100644 index 8bcbd600..00000000 --- a/issues/migrations/0011_auto_20230123_0736.py +++ /dev/null @@ -1,11 +0,0 @@ -# Generated by Django 4.1.4 on 2023-01-23 07:36 - -from django.db import migrations - - -class Migration(migrations.Migration): - dependencies = [ - ("issues", "0010_auto_20221202_0110"), - ] - - operations = [] diff --git a/issues/migrations/0012_comment.py b/issues/migrations/0012_comment.py deleted file mode 100644 index 04b26d20..00000000 --- a/issues/migrations/0012_comment.py +++ /dev/null @@ -1,48 +0,0 @@ -# Generated by Django 4.1.7 on 2023-03-21 13:08 - -from django.conf import settings -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - dependencies = [ - migrations.swappable_dependency(settings.AUTH_USER_MODEL), - ("issues", "0011_auto_20230123_0736"), - ] - - operations = [ - migrations.CreateModel( - name="Comment", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("created", models.DateTimeField(auto_now_add=True, db_index=True)), - ("text", models.TextField(blank=True, null=True)), - ( - "issue", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="issues.issue" - ), - ), - ( - "user", - models.ForeignKey( - null=True, - on_delete=django.db.models.deletion.SET_NULL, - to=settings.AUTH_USER_MODEL, - ), - ), - ], - options={ - "abstract": False, - }, - ), - ] diff --git a/issues/migrations/0013_alter_comment_options_alter_issue_unique_together_and_more.py b/issues/migrations/0013_alter_comment_options_alter_issue_unique_together_and_more.py deleted file mode 100644 index fffa46cd..00000000 --- a/issues/migrations/0013_alter_comment_options_alter_issue_unique_together_and_more.py +++ /dev/null @@ -1,56 +0,0 @@ -# Generated by Django 4.2.2 on 2023-07-07 18:36 - -from django.db import migrations, models -import django.db.models.deletion - - -class Migration(migrations.Migration): - dependencies = [ - ("projects", "0011_transactioneventprojecthourlystatistic"), - ("issues", "0012_comment"), - ] - - operations = [ - migrations.AlterModelOptions( - name="comment", - options={"ordering": ("-created",)}, - ), - migrations.AlterUniqueTogether( - name="issue", - unique_together={("project", "short_id")}, - ), - migrations.CreateModel( - name="IssueHash", - fields=[ - ( - "id", - models.BigAutoField( - auto_created=True, - primary_key=True, - serialize=False, - verbose_name="ID", - ), - ), - ("value", models.UUIDField(db_index=True)), - ( - "issue", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, to="issues.issue" - ), - ), - ( - "project", - models.ForeignKey( - on_delete=django.db.models.deletion.CASCADE, - to="projects.project", - ), - ), - ], - ), - migrations.AddConstraint( - model_name="issuehash", - constraint=models.UniqueConstraint( - fields=("project", "value"), name="project hash" - ), - ), - ] diff --git a/issues/migrations/0014_alter_issue_unique_together_remove_issue_project_and_more.py b/issues/migrations/0014_alter_issue_unique_together_remove_issue_project_and_more.py deleted file mode 100644 index 06eb093b..00000000 --- a/issues/migrations/0014_alter_issue_unique_together_remove_issue_project_and_more.py +++ /dev/null @@ -1,39 +0,0 @@ -# Generated by Django 5.0.3 on 2024-03-18 14:30 - -from django.db import migrations - - -class Migration(migrations.Migration): - - dependencies = [ - ('events', '0005_delete_event'), - ('issues', '0013_alter_comment_options_alter_issue_unique_together_and_more'), - ] - - operations = [ - migrations.AlterUniqueTogether( - name='issue', - unique_together=None, - ), - migrations.RemoveField( - model_name='issue', - name='project', - ), - migrations.RemoveField( - model_name='issuehash', - name='issue', - ), - migrations.RemoveField( - model_name='issuehash', - name='project', - ), - migrations.DeleteModel( - name='Comment', - ), - migrations.DeleteModel( - name='Issue', - ), - migrations.DeleteModel( - name='IssueHash', - ), - ] diff --git a/issues/migrations/__init__.py b/issues/migrations/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/issues/migrations/sql/triggers.py b/issues/migrations/sql/triggers.py deleted file mode 100644 index fe1eaf63..00000000 --- a/issues/migrations/sql/triggers.py +++ /dev/null @@ -1,25 +0,0 @@ -# No longer used -UPDATE_ISSUE_TRIGGER = """ -DROP TRIGGER IF EXISTS event_issue_update on events_event; -""" - -INCREMENT_PROJECT_COUNTER_TRIGGER = """ -DROP TRIGGER IF EXISTS increment_project_counter on issues_issue; - -CREATE OR REPLACE FUNCTION increment_project_counter() RETURNS trigger AS $$ -DECLARE - counter_value int; -BEGIN - INSERT INTO projects_projectcounter (value, project_id) - VALUES (0, NEW.project_id) - ON CONFLICT (project_id) DO UPDATE SET value = projects_projectcounter.value + 1 - RETURNING value into counter_value; - NEW.short_id=counter_value; - RETURN NEW; -END; -$$ LANGUAGE plpgsql;; - -CREATE TRIGGER increment_project_counter BEFORE INSERT -ON issues_issue FOR EACH ROW EXECUTE PROCEDURE -increment_project_counter(); -"""