Processor¶
The code for the processor is in socorro/processor/
.
Processor rules are in socorro/processor/rules/
.
Configuration¶
Configuration for the processor is specified in environment variables.
FIXME(willkg): How to configure?
stackwalker¶
The MinidumpStackwalkRule
processor rule runs a stackwalker parses minidump
files generated by the Breakpad library to extract information about the
process. The stackwalker is run as a subprocess.
Code and documentation for the stackwalker binares is in https://github.com/rust-minidump/rust-minidump.
The stackwalker binaries are added to the Docker image in /stackwalk-rust/
.
The stackwalker downloads breakpad SYM files from specified symbols server urls to symbolicate stacks. Mozilla’s crash ingestion pipeline points to the Mozilla Symbols Server which holds symbols for all our product builds.
The stackwalker is set up to store temporary files it generates when
downloading SYM files in SYMBOL_TMP_PATH
and cache SYM files that have been
completely downloaded for a while in SYMBOL_CACHE_PATH
. SYM files are big,
so you want to volume mount those paths into the Docker container.
Running in a local dev environment¶
To run the processor in the local dev environment, do:
$ docker compose up processor
That will bring up all the services the processor requires to run and start the
processor using the /app/bin/run_service_processor.sh
script and the
processor configuration.
To use tools and also ease debugging in the container, you can run a shell:
$ just shell
Then you can start and stop the processor and tweak files and all that jazz.
Running in a server environment¶
Add configuration to processor.env
file.
Run the docker image using the processor
command. Something like this:
docker run \
--env-file=processor.env \
--volume /data:/data \
mozilla/socorro_app processor
This runs the /app/bin/run_service_processor.sh
script.