예제 #1
0
파일: plugin.py 프로젝트: overquota/sentry
def reprocess_minidump(data):
    project = Project.objects.get_from_cache(id=data['project'])

    minidump_is_reprocessed_cache_key = minidump_reprocessed_cache_key_for_event(
        data)
    if default_cache.get(minidump_is_reprocessed_cache_key):
        return

    minidump = get_attached_minidump(data)

    if not minidump:
        logger.error("Missing minidump for minidump event")
        return

    request_id_cache_key = request_id_cache_key_for_event(data)

    response = run_symbolicator(project=project,
                                request_id_cache_key=request_id_cache_key,
                                create_task=create_minidump_task,
                                minidump=make_buffered_slice_reader(
                                    minidump.data, None))

    if handle_symbolicator_response_status(data, response):
        merge_symbolicator_minidump_response(data, response)

    event_cache_key = cache_key_for_event(data)
    default_cache.set(event_cache_key, dict(data), 3600)
    default_cache.set(minidump_is_reprocessed_cache_key, True, 3600)

    return data
예제 #2
0
파일: plugin.py 프로젝트: yaoqi/sentry
def reprocess_minidump(data):
    project = Project.objects.get_from_cache(id=data['project'])

    minidump_is_reprocessed_cache_key = minidump_reprocessed_cache_key_for_event(data)
    if default_cache.get(minidump_is_reprocessed_cache_key):
        return

    if not _is_symbolicator_enabled(project, data):
        rv = reprocess_minidump_with_cfi(data)
        default_cache.set(minidump_is_reprocessed_cache_key, True, 3600)
        return rv

    minidump = get_attached_minidump(data)

    if not minidump:
        logger.error("Missing minidump for minidump event")
        return

    request_id_cache_key = request_id_cache_key_for_event(data)

    response = run_symbolicator(
        project=project,
        request_id_cache_key=request_id_cache_key,
        create_task=create_minidump_task,
        minidump=make_buffered_slice_reader(minidump.data, None)
    )

    if handle_symbolicator_response_status(data, response):
        merge_symbolicator_minidump_response(data, response)

    event_cache_key = cache_key_for_event(data)
    default_cache.set(event_cache_key, dict(data), 3600)
    default_cache.set(minidump_is_reprocessed_cache_key, True, 3600)

    return data
예제 #3
0
def process_applecrashreport(data):
    project = Project.objects.get_from_cache(id=data["project"])

    report = get_event_attachment(data, APPLECRASHREPORT_ATTACHMENT_TYPE)
    if not report:
        logger.error("Missing applecrashreport for event")
        return

    symbolicator = Symbolicator(project=project, event_id=data["event_id"])

    response = symbolicator.process_applecrashreport(
        make_buffered_slice_reader(report.data, None))

    if _handle_response_status(data, response):
        _merge_full_response(data, response)

    return data
예제 #4
0
def process_minidump(data):
    project = Project.objects.get_from_cache(id=data["project"])

    minidump = get_event_attachment(data, MINIDUMP_ATTACHMENT_TYPE)
    if not minidump:
        logger.error("Missing minidump for minidump event")
        return

    symbolicator = Symbolicator(project=project, event_id=data["event_id"])

    response = symbolicator.process_minidump(
        make_buffered_slice_reader(minidump.data, None))

    if _handle_response_status(data, response):
        _merge_full_response(data, response)

    return data
예제 #5
0
파일: processing.py 프로젝트: yndxz/sentry
def process_minidump(data):
    project = Project.objects.get_from_cache(id=data['project'])

    minidump = get_attached_minidump(data)

    if not minidump:
        logger.error("Missing minidump for minidump event")
        return

    symbolicator = Symbolicator(project=project, event_id=data['event_id'])

    response = symbolicator.process_minidump(
        make_buffered_slice_reader(minidump.data, None))

    if _handle_response_status(data, response):
        _merge_minidump_response(data, response)

    return data
예제 #6
0
def reprocess_minidump(data):
    project = Project.objects.get_from_cache(id=data['project'])

    minidump_is_reprocessed_cache_key = minidump_reprocessed_cache_key_for_event(
        data)
    if default_cache.get(minidump_is_reprocessed_cache_key):
        return

    if not _is_symbolicator_enabled(project, data):
        rv = reprocess_minidump_with_cfi(data)
        default_cache.set(minidump_is_reprocessed_cache_key, True, 3600)
        return rv

    minidump = get_attached_minidump(data)

    if not minidump:
        logger.error("Missing minidump for minidump event")
        return

    request_id_cache_key = request_id_cache_key_for_event(data)

    response = run_symbolicator(project=project,
                                request_id_cache_key=request_id_cache_key,
                                create_task=create_minidump_task,
                                minidump=make_buffered_slice_reader(
                                    minidump.data, None))

    if not response:
        handle_symbolication_failed(
            SymbolicationFailed(type=EventError.NATIVE_SYMBOLICATOR_FAILED),
            data=data,
        )
        default_cache.set(minidump_is_reprocessed_cache_key, True, 3600)
        return

    merge_symbolicator_minidump_response(data, response)

    event_cache_key = cache_key_for_event(data)
    default_cache.set(event_cache_key, dict(data), 3600)
    default_cache.set(minidump_is_reprocessed_cache_key, True, 3600)

    return data
예제 #7
0
def reprocess_minidump(data):
    project = Project.objects.get_from_cache(id=data['project'])

    minidump = get_attached_minidump(data)

    if not minidump:
        logger.error("Missing minidump for minidump event")
        return

    task_id_cache_key = task_id_cache_key_for_event(data)

    symbolicator = Symbolicator(
        project=project,
        task_id_cache_key=task_id_cache_key
    )

    response = symbolicator.process_minidump(make_buffered_slice_reader(minidump.data, None))

    if handle_symbolicator_response_status(data, response):
        merge_symbolicator_minidump_response(data, response)

    return data