To add markers via a command line tool, use either curl or honeymarker, a lightweight marker management tool that provides a CRUD command line interface.
Managing markers with a CLI requires a Configuration API Key, which must have the Manage Markers permission.
Refer to our API keys documentation for more details.
Also, the dataset must already exist for a marker to be added successfully.
Add Markers (add)
For example:
honeymarker \
-k YOUR_API_KEY \
-d myservice \
-t deploy \
-m "build 192837" \
add
curl https://api.honeycomb.io/1/markers/myservice -X POST \
-H "X-Honeycomb-Team: YOUR_API_KEY" \
-d '{"message":"build 192837", "type":"deploy"}'
To use our EU instance, post your data to https://api.eu1.honeycomb.io/1/markers/myservice instead.
honeymarker add
honeymarker has the following command line flags:
| Name | Flag | Description | Required |
|---|
| Start Time | -s <arg> / --start_time=<arg> | start time for the marker in unix time (seconds since the epoch) | No |
| End Time | -e <arg> / --end_time=<arg> | end time for the marker in unix time (seconds since the epoch) | No |
| Message | -m <arg> / --msg=<arg> | message describing this specific marker | No |
| URL | -u <arg> / --url=<arg> | URL associated with this marker | No |
| Type | -t <arg> / --type=<arg> | identifies marker type | No |
All parameters to add are optional.
If start_time is missing, the marker will be assigned the current time.
It is highly recommended that you fill in either message or type.
All markers of the same type will be shown with the same color in the UI.
The message will be visible above an individual marker.
If a URL is specified along with a message, the message will be shown as a link in the UI, and clicking it will take you to the URL.
List Markers (list)
For example:
honeymarker \
-k YOUR_API_KEY \
-d myservice \
list
curl https://api.honeycomb.io/1/markers/myservice -X GET \
-H "X-Honeycomb-Team: YOUR_API_KEY"
To use our EU instance, get data from https://api.honeycomb.io/1/markers/myservice instead.
honeymarker list
honeymarker has the following command line flags:
| Name | Flag | Description | Required |
|---|
| JSON | --json | Output the list as json instead of in tabular form | No |
| Unix Timestamps | --unix_time | In table mode, format times as unit timestamps (seconds since the epoch) | No |
Update Markers (update)
For example:
honeymarker \
-k YOUR_API_KEY \
-d myservice \
-i marker-id \
-u "http://my.service.co/builds/192837" \
update
curl https://api.honeycomb.io/1/markers/myservice/marker-id -X PUT \
-H "X-Honeycomb-Team: YOUR_API_KEY" \
-d '{"url":"http://my.service.co/builds/192837"}'
To use our EU instance, send data to https://api.eu1.honeycomb.io/1/markers/myservice/marker-id instead.
honeymarker update
honeymarker has the following command line flags:
| Name | Flag | Description | Required |
|---|
| Marker ID | -i <arg> / --id=<arg> | ID of the marker to update | Yes |
| Start Time | -s <arg> / --start_time=<arg> | start time for the marker in unix time (seconds since the epoch) | No |
| End Time | -e <arg> / --end_time=<arg> | end time for the marker in unix time (seconds since the epoch) | No |
| Message | -m <arg> / --msg=<arg> | message describing this specific marker | No |
| URL | -u <arg> / --url=<arg> | URL associated with this marker | No |
| Type | -t <arg> / --type=<arg> | identifies marker type | No |
The marker ID is available from the list command, and is also output to the console by the add command.
Delete Markers (rm)
For example:
honeymarker \
-k YOUR_API_KEY \
-d myservice \
-i marker-id \
rm
curl https://api.honeycomb.io/1/markers/myservice/marker-id -X DELETE \
-H "X-Honeycomb-Team: YOUR_API_KEY"
To use our EU instance, delete data from https://api.eu1.honeycomb.io/1/markers/myservice/marker-id instead.
honeymarker delete
honeymarker has the following command line flags:
| Name | Flag | Description | Required |
|---|
| Marker ID | -i <arg> / --id=<arg> | ID of the marker to delete | Yes |
The marker ID is available from the list command, and is also output to the console by the add command.
Honeymarker
honeymarker is a lightweight tool that provides a CRUD command line interface to manage your markers.
Installation
Download and install the latest version of honeymarker by visiting the releases page for of honeymarker, which contains binary packages for a variety of platforms.
The packages install honeymarker to /usr/bin.
The binary is called honeymarker, available if you need it in an unpackaged form or for ad-hoc use.
View honeymarker’s source.
Usage
Use the following command format for honeymarker:
honeymarker -k <YOUR_API_KEY> -d <dataset> COMMAND [command-specific flags]
where:
<YOUR_API_KEY> is found on <https://ui.honeycomb.io/account>.
<dataset> is the name of the dataset for which you want to create the marker.
COMMAND is one of available commands listed below.
For Environment markers, use __all__ for dataset name.
Available Commands
honeymarker has the following commands:
| Command | Description |
|---|
add | add a new marker |
list | list all markers |
rm | delete a marker |
update | update a marker |
OpenTelemetry Marker Exporter
The OpenTelemetry Collector’s Marker Exporter allows you to send a Honeycomb Marker based on the shape of incoming telemetry.
In your OpenTelemetry Collector exporter configuration, you can specify a set of rules that will be evaluated against incoming telemetry.
When a condition is met, a marker is sent and appears in Honeycomb.
For example, whenever a Kubernetes Event contains a reason of Backoff, the configuration below sends a marker:
exporters:
honeycombmarker:
api_key: YOUR-API-KEY-HERE
markers:
# Creates a new marker each time the exporter sees a Kubernetes event with a reason of Backoff
- type: k8s-backoff-events
rules:
- log_conditions:
- IsMap(body) and IsMap(body["object"]) and body["object"]["reason"] == "Backoff"