Auklet for C
This is the C agent for Auklet. It officially supports C and C++, and runs on most POSIX-based operating systems (Debian, Ubuntu Core, Raspbian, QNX, etc).
Features
- Automatic crash reporting
- Automatic function performance issue reporting
- Location, system architecture, and system metrics identification for all issues
- Ability to define data usage restrictions
Device Requirements
Auklet's C/C++ agent is built to run on any POSIX operating system. If you don't see your OS or CPU architecture listed below, you can hit us up at hello@auklet.io to learn more about Auklet compatibility.
Validated OSes:
- Debian 8.6
- Fedora 24
- Linaro 4.4.23
- OpenWRT 3.8.3
- Rasbian Jessie 4.9.30
- Rasbian Stretch 4.14.71
- Ubuntu 16.04
- Yocto 2.2-r2
Validated CPU Architectures:
- x86-64
- ARM7
- ARM64
- MIPS
Networking
Auklet is built to work in network-constrained environments. It can operate while devices are not connected to the Internet and then upload data once connectivity is reestablished. Auklet can also work in non-IP-based environments as well. For assistance with getting Auklet running in a non-IP-based environment, contact hello@auklet.io.
Quickstart
Getting Started
-
When using a Makefile, include the following flags to integrate the Auklet agent:
CFLAGS += -finstrument-functions -g LDLIBS += libauklet.a -lpthread LDFLAGS += -no-pie libauklet.a: curl <insert link for your cpu> | tar xz
-
The curl command at the end of the above flags will vary depending on your application's target architecture. Replace the portion with < > above with the target architecture's link below.
-
When compiling, include
-g -finstrument-functions
. -
When linking, include
libauklet.a -lpthread -no-pie
. libauklet.a is downloadable from the links above.
Next Steps
-
In order for Auklet to report your application's performance, you'll need to perform a release whenever your code is updated and deployed. Check the README for the Auklet C/C++ Releaser for instructions.
-
You application will also need to run with the Auklet client to report its data. The C/C++ Auklet Client, and instructions for running Auklet with your application, can be found in the C/C++ Auklet Client's repository.
Questions? Problems? Ideas?
To get support, report a bug or suggest future ideas for Auklet, go to https://help.auklet.io and click the blue button in the lower-right corner to send a message to our support team.