Scout APM BrainFuck Agent
Find out more at our announcement post: https://scoutapp.com/blog/announcing-brainfuck-monitoring-for-scout-apm
Thank you to Shinichiro Hamaji @shinh for the excellent BrainFuck interpreter we modified. See his very cool ELVM Compiler Infrastructure project to compile C programs into working BrainFuck code (among other EsoLang targets).
Prereq: Ruby to run the BF Interpreter.
- Sign up for an free trial account
- Get your Org Key
- Download the Core Agent binary
# OSX: wget https://s3-us-west-1.amazonaws.com/scout-public-downloads/apm_core_agent/release/core-agent-latest-x86_64-apple-darwin.tgz # Linux: wget https://s3-us-west-1.amazonaws.com/scout-public-downloads/apm_core_agent/release/core-agent-latest-x86_64-unknown-linux-gnu.tgz # For either one, untar it: tar xvzf core-agent-latest.....tgz
- Start the Core Agent
- In another window, setup your environment variables:
# Your Application Name export SCOUT_NAME=unicorn # Your Org Key ( export SCOUT_KEY="fXU8f....Vi3A"
- And run your BF app!
ruby bf.rb pack/hello.c.eir.bf
There are a handful of example BF apps in the pack.tgz file.
# Unpack the examples into pack/: tar xvzf pack.tgz # Calendar echo 2018 03 | bf.rb pack/cal.bf # Hello World ruby bf.rb pack/hello.c.eir.bf # FizzBuzz ruby bf.rb pack/fizzbuzz.c.eir.bf
SCOUT_NAME - Required, the name of the application that appears in the ScoutAPM UI SCOUT_KEY - Required, the Org key for your organization. Can be found in the Org settings page SCOUT_SOCKET_PATH - Optional, for if you run the core agent outside of the same directory as the BF interpreter.
The trace is sent only after the interpreter is finished, and not while it is in progress. This means you've gotta wait out FizzBuzz (several minutes) and other long applications.