Remove unused events/issues code

This commit is contained in:
David Burke committed 2025-04-29 11:01:26 -04:00
1 parent 5ada0d6b0d
commit e6d072e3b3
42 files changed
-5885

No files matched your search

View File
Whitespace-only changes.
@@ -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,
),
]
@@ -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 = []
-16
View File
@@ -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',
),
]
View File
Whitespace-only changes.
View File
Whitespace-only changes.
File diff suppressed because it is too large. Load diff
-9
View File
@@ -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",
}
}
-103
View File
@@ -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"
}
@@ -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": "<bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7fc4b9f92580>>",
"request": "<WSGIRequest: GET '/template-error/'>",
"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": "<function CsrfViewMiddleware.process_view at 0x7fc4b913b160>",
"self": "<django.core.handlers.wsgi.WSGIHandler object at 0x7fc4b9f92580>",
"request": "<WSGIRequest: GET '/template-error/'>",
"callback": "<function TemplateErrorView at 0x7fc4b92473a0>",
"wrapped_callback": "<function TemplateErrorView at 0x7fc4b92473a0>",
"resolver": "<URLResolver 'django_error_factory.urls' (None:None) '^/'>",
"callback_kwargs": {},
"response": "<TemplateResponse status_code=200, \"text/html; charset=utf-8\">"
},
"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": "<function CsrfViewMiddleware.process_view at 0x7fc4b913b160>",
"self": "<django.core.handlers.wsgi.WSGIHandler object at 0x7fc4b9f92580>",
"request": "<WSGIRequest: GET '/template-error/'>",
"callback": "<function TemplateErrorView at 0x7fc4b92473a0>",
"wrapped_callback": "<function TemplateErrorView at 0x7fc4b92473a0>",
"resolver": "<URLResolver 'django_error_factory.urls' (None:None) '^/'>",
"callback_kwargs": {},
"response": "<TemplateResponse status_code=200, \"text/html; charset=utf-8\">"
},
"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": "<TemplateResponse status_code=200, \"text/html; charset=utf-8\">",
"retval": "<TemplateResponse status_code=200, \"text/html; charset=utf-8\">"
},
"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": "<TemplateResponse status_code=200, \"text/html; charset=utf-8\">",
"template": "<django.template.backends.django.Template object at 0x7fc4b90a8880>",
"context": {
"view": "<errors.views.TemplateErrorView object at 0x7fc4b90a84c0>"
}
},
"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": "<django.template.backends.django.Template object at 0x7fc4b90a8880>",
"request": "<WSGIRequest: GET '/template-error/'>",
"context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': <errors.views.TemplateErrorView object at 0x7fc4b90a84c0>}]"
},
"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": "<django.template.base.Template object at 0x7fc4b90a88e0>",
"context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': <errors.views.TemplateErrorView object at 0x7fc4b90a84c0>}]"
},
"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": "<django.template.base.Template object at 0x7fc4b90a88e0>",
"context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': <errors.views.TemplateErrorView object at 0x7fc4b90a84c0>}]"
},
"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": "<django.template.defaulttags.URLNode object at 0x7fc4b90a87c0>",
"bit": "'<a href=\"'",
"bits": ["'<a href=\"'"],
"self": [
"<TextNode: '<a href=\"'>",
"<django.template.defaulttags.URLNode object at 0x7fc4b90a87c0>",
"<TextNode: '\">'>"
],
"context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': <errors.views.TemplateErrorView object at 0x7fc4b90a84c0>}]"
},
"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, "&lt;a href=&quot;{% url &#x27;nope&#x27; %}&quot;&gt;"]
],
"symbolAddr": null,
"trust": null,
"symbol": null,
"rawFunction": null
},
{
"function": "render_annotated",
"errors": null,
"colNo": null,
"vars": {
"self": "<django.template.defaulttags.URLNode object at 0x7fc4b90a87c0>",
"context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': <errors.views.TemplateErrorView object at 0x7fc4b90a84c0>}]"
},
"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": "<function reverse at 0x7fc4ba161820>",
"url": "''",
"self": "<django.template.defaulttags.URLNode object at 0x7fc4b90a87c0>",
"args": [],
"current_app": "''",
"view_name": "'nope'",
"context": "[{'True': True, 'False': False, 'None': None}, {}, {}, {'view': <errors.views.TemplateErrorView object at 0x7fc4b90a84c0>}]",
"kwargs": {},
"NoReverseMatch": "<class 'django.urls.exceptions.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": "<URLResolver 'django_error_factory.urls' (None:None) '^/'>",
"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": "<URLResolver 'django_error_factory.urls' (None:None) '^/'>",
"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"
}
-51
View File
@@ -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
@@ -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"
}
}
]
@@ -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": "<errors.views.FingerprintView object at 0x7fdb827a69b0>",
"request": "<WSGIRequest: GET '/fingerprint/'>",
"args": [],
"kwargs": {},
"err": "Exception('something 9')",
"scope": "<Scope id=0x7fdb827bb5e0 name=wsgi>"
},
"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]] } } }
}
}
}
@@ -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": "<WSGIRequest: GET '/divide-zero/'>",
"exc": "ZeroDivisionError('division by zero')",
"get_response": "<bound method BaseHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f0e5e7675e0>>"
},
"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": "<django.core.handlers.wsgi.WSGIHandler object at 0x7f0e5e7675e0>",
"request": "<WSGIRequest: GET '/divide-zero/'>",
"response": "None",
"callback": "<function DivideZeroView at 0x7f0e5ceee670>",
"callback_args": [],
"callback_kwargs": {},
"middleware_method": "<function CsrfViewMiddleware.process_view at 0x7f0e5cdc5e50>",
"wrapped_callback": "<function DivideZeroView at 0x7f0e5c1b7dc0>"
},
"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": "<WSGIRequest: GET '/divide-zero/'>",
"args": [],
"kwargs": {},
"self": "<errors.views.DivideZeroView object at 0x7f0e5c4e08e0>",
"cls": "<class 'errors.views.DivideZeroView'>",
"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": "<errors.views.DivideZeroView object at 0x7f0e5c4e08e0>",
"request": "<WSGIRequest: GET '/divide-zero/'>",
"args": [],
"kwargs": {},
"handler": "<bound method DivideZeroView.get of <errors.views.DivideZeroView object at 0x7f0e5c4e08e0>>"
},
"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": "<errors.views.DivideZeroView object at 0x7f0e5c4e08e0>",
"request": "<WSGIRequest: GET '/divide-zero/'>",
"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]] } } }
}
}
}
@@ -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 }
}
-72
View File
@@ -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"
}
}
}
@@ -1,6 +0,0 @@
These events are taken from open source sentry to test for compatibility. `/api/0/issues/<issue_id>/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.
@@ -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"
}
@@ -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"
}
@@ -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"
}
}
}
]
-190
View File
@@ -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]] } } }
}
}
}
-182
View File
@@ -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"
}
}
}
@@ -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"
}
}
}
]
@@ -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"
}
}
}
]
-2
View File
@@ -249,8 +249,6 @@ INSTALLED_APPS += [
"apps.alerts",
"apps.environments",
"apps.organizations_ext",
"events",
"issues",
"apps.users",
"apps.importer",
"apps.uptime",
View File
Whitespace-only changes.
@@ -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,
),
),
]
@@ -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,
),
),
]
-19
View File
@@ -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"
),
),
]
-19
View File
@@ -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"
),
),
]
-19
View File
@@ -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),
]
@@ -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 = []
@@ -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 = []
@@ -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 = []
-19
View File
@@ -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"
),
),
]
@@ -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 = []
@@ -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 = []
-48
View File
@@ -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,
},
),
]
@@ -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"
),
),
]
@@ -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',
),
]
View File
Whitespace-only changes.
-25
View File
@@ -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();
"""