Auklet-Client-C

module
v0.0.0-...-7f3e7ba Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 26, 2019 License: Apache-2.0

README

Auklet for C

Maintainability Test Coverage

This is the C client 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++ client is built to run on any POSIX operating system. If you don't see the OS or CPU architecture you are using for your application listed below, and are wondering if Auklet will be compatible, please hit us up at hello@auklet.io.

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.

Prerequisites

Before an application can send data to Auklet, it needs to be integrated with the Auklet library, libauklet.a, and then released to Auklet. See the README for the Auklet Agent for integration instructions, and the README for the Auklet Releaser for releasing instructions.

The Auklet client assumes two things:

  • It is the parent process of your program.
  • The user running the Auklet integrated app has permissions to read and write the current directory.

Quickstart

Ready to Go Architectures

If you don't see your architecture listed, it doesn't mean we can't support it, so please reach out to hello@auklet.io.

Getting Started
  1. Download the appropriate client from the list above, based on your architecture, and add it to your deployment package.

  2. Follow the C/C++ Agent Quickstart Guide to integrate the C/C++ agent.

  3. Configure the systems to which you are deploying with the following environment variables (the same ones used with the Auklet Releaser):

    • AUKLET_APP_ID
    • AUKLET_API_KEY
  4. Deploy your updated package and execute your application using the Auklet client:

     ./path/to/Auklet-Client ./path/to/<InsertYourApplication>
    

And with that, Auklet is ready to go!

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.

Directories

Path Synopsis
Package agent provides access to an Auklet agent.
Package agent provides access to an Auklet agent.
Package api implements an interface to the Auklet backend API.
Package api implements an interface to the Auklet backend API.
cmd
client
The client monitors the execution of an instrumented C or C++ app.
The client monitors the execution of an instrumented C or C++ app.
Package config provides Auklet client configuration data.
Package config provides Auklet client configuration data.
Package device provides access to hardware and system information.
Package device provides access to hardware and system information.
Package errorlog provides a logger for error messages.
Package errorlog provides a logger for error messages.
Package message implements types for manipulating streams of broker messages.
Package message implements types for manipulating streams of broker messages.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL