Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-10-20 10:15:20

0001 # Generated by Django 5.2.12 on 2026-09-11 17:06
0002 
0003 from django.db import migrations, models
0004 
0005 
0006 class Migration(migrations.Migration):
0007 
0008     dependencies = [
0009         ('monitor_app', '0012_seed_alarm_pings'),
0010     ]
0011 
0012     operations = [
0013         migrations.CreateModel(
0014             name='CrashSignature',
0015             fields=[
0016                 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
0017                 ('key', models.CharField(help_text="'exit139:task38661' at record level, 'exit139:frame:<sha>' at trace level", max_length=120, unique=True)),
0018                 ('level', models.CharField(choices=[('record', 'record'), ('trace', 'trace'), ('reproduction', 'reproduction')], default='record', max_length=20)),
0019                 ('exit_code', models.IntegerField(db_index=True)),
0020                 ('signal', models.IntegerField()),
0021                 ('class_hint', models.CharField(choices=[('storm', 'storm'), ('configuration_dead', 'configuration dead'), ('sparse', 'sparse'), ('abort', 'abort'), ('mixed', 'mixed')], db_index=True, default='mixed', max_length=30)),
0022                 ('tasks', models.JSONField(blank=True, default=list, help_text='[{jeditaskid, taskname, crashes, finished, failed, first_seen, last_seen}]')),
0023                 ('configuration', models.JSONField(blank=True, default=dict, help_text='campaign, edition, process family, ProdConfig, container image, detector version, payload version')),
0024                 ('sites', models.JSONField(blank=True, default=list, help_text='[{site, crashes, hosts}]')),
0025                 ('crashes', models.IntegerField(default=0)),
0026                 ('rate', models.FloatField(blank=True, help_text='crashes over finished plus failed', null=True)),
0027                 ('minutes_p10', models.FloatField(blank=True, null=True)),
0028                 ('minutes_p50', models.FloatField(blank=True, null=True)),
0029                 ('first_seen', models.DateTimeField(blank=True, null=True)),
0030                 ('last_seen', models.DateTimeField(blank=True, db_index=True, null=True)),
0031                 ('rows_lost', models.IntegerField(blank=True, help_text='crashed rows with no delivered output in any attempt', null=True)),
0032                 ('events_lost', models.IntegerField(blank=True, null=True)),
0033                 ('trace', models.JSONField(blank=True, default=dict, help_text='program, stage, top frames, source job, trace_status')),
0034                 ('reproduction', models.JSONField(blank=True, default=list, help_text='[{pandaid, queue, jedi_task_id, outcome, minutes, verdict_time}]')),
0035                 ('status', models.CharField(choices=[('new', 'new'), ('digging', 'digging'), ('traced', 'traced'), ('reproducing', 'reproducing'), ('reproduced', 'reproduced'), ('not_reproduced', 'not reproduced'), ('diagnosed', 'diagnosed'), ('handed_off', 'handed off'), ('fixed', 'fixed'), ('accepted', 'accepted')], db_index=True, default='new', max_length=20)),
0036                 ('verdict', models.TextField(blank=True, default='')),
0037                 ('assessment_ids', models.JSONField(blank=True, default=list)),
0038                 ('package', models.JSONField(blank=True, default=dict, help_text='path or URL of the reproduction package, built time')),
0039                 ('data', models.JSONField(blank=True, default=dict)),
0040                 ('created_at', models.DateTimeField(auto_now_add=True)),
0041                 ('updated_at', models.DateTimeField(auto_now=True)),
0042             ],
0043             options={
0044                 'db_table': 'swf_crash_signatures',
0045                 'ordering': ['-crashes'],
0046             },
0047         ),
0048     ]