Giter Site home page Giter Site logo

jameskr97 / crashserver Goto Github PK

View Code? Open in Web Editor NEW
15.0 3.0 4.0 4.42 MB

A google crashpad minidump collection server, built with open-source projects in mind.

CSS 6.65% HTML 25.97% Python 61.25% JavaScript 4.68% Shell 0.47% Dockerfile 0.74% Mako 0.23%
minidump crash-reporting breakpad-server crashpad

crashserver's Introduction

An implementation of an upstream collection server for the Google Crashpad crash handler. Intended to be as an all-in-one setup for small-to-medium projects who want to ability to:

  • Store symbols and decode minidumps for separate projects
  • View a list of recent crashes for any given project
  • Allow for minidump upload from a public webpage

Built for open-source projects that use Google Crashpad, and want to host their own crash collection server.

Getting Started

Development

Running CrashServer locally can be done with the following commands:

$ git clone https://gitub.com/jameskr97/CrashServer.git
$ cd CrashServer/.docker/
$ docker-compose up -d

Production

CrashServer is not yet ready for production environments. If you still choose to use CrashServer for your application, you may refer to the .docker/docker-compose.yml for necessary components. CrashServer is available as a container image at ghcr.io/jameskr97/CrashServer.

TODO

  • API
    • /api/minidump/upload Upload Minidumps for project under endpoint.
      • Handle gzip minidump upload
    • /api/synbol/upload Upload Symbols for project under endpoint, secured by api_key
  • Web
    • List of all symbols for project
    • Upload minidump (publicly)
    • Upload symbols (authenticated users only)
  • Backend
    • Ensure minidump can be decoded before producing readable minidump
    • Support for symbols on development versions of the project
    • Auto-delete minidumps after a selected interval
    • Single project mode
    • Implement sym-upload-v1 protocol
    • Implement sym-upload-v2 protocol
    • Use Amazon S3 (S3-Compatible) for all data store
  • Misc
    • Documentation Generation
    • CI and Tests
    • CLI Management interface (via flask)

crashserver's People

Contributors

jameskr97 avatar l1nxy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

crashserver's Issues

how to deploy ??

hello~
There is no wiki , I don't know how to deply it .
I try run the code directly, but I meet some questions, like db, url, log ....

License?

Is this repository open source, if so what license? Without a license this code is proprietary and thus can't be used by others.

If you're not sure I'd suggest: https://choosealicense.com/

stackwalker decoder fails to decode minidump file generated by crashpad_handler

hi,
thanks for building a wonderful app.
we are having an issue with using your server to decode a minidump file generated by crashpad_handler.

we tested the symbols and minidump file locally using the tool minidump_stackwalk and it gives correct and complete stacktrace, like below
image

But in the server, the stacktrace is useful, doesn't give us any information and it seems that the issue is caused by the tool stackwalker is not compatible with the minidump format.
image

is there any way for us to switch from stackwalker to minidump_stackwalk?

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.