Skip to content
/ m3 Public
forked from m3db/m3

M3 monorepo - Distributed TSDB, Aggregator and Query Engine, Prometheus Sidecar, Graphite Compatible, Metrics Platform

License

Notifications You must be signed in to change notification settings

jnyi/m3

This branch is 86 commits behind m3db/m3:master.

Folders and files

NameName
Last commit message
Last commit date
Apr 29, 2022
Jul 8, 2021
Nov 18, 2020
Oct 20, 2020
Nov 7, 2020
Apr 29, 2022
Jun 8, 2021
Nov 9, 2020
Mar 9, 2021
Feb 28, 2022
Jan 18, 2022
Jan 16, 2019
Jun 8, 2022
Dec 3, 2021
Dec 20, 2018
Oct 9, 2018
Apr 17, 2018
Apr 17, 2018
Dec 3, 2021
Oct 28, 2020
Aug 20, 2021
Jan 25, 2017
May 5, 2022
Jun 9, 2020
Feb 25, 2019
Apr 7, 2022
Nov 9, 2020
Mar 29, 2021
Feb 18, 2021
May 19, 2021
Apr 29, 2022
Nov 9, 2020
May 18, 2018
Apr 29, 2022
Jan 30, 2019
Dec 23, 2021
Nov 9, 2020
May 30, 2018
Jul 21, 2021
Jun 7, 2022
Jun 7, 2022
Nov 14, 2018
Apr 6, 2021
Apr 6, 2021

Repository files navigation

M3

GoDoc Build Status FOSSA Status

M3 Logo

Distributed TSDB and Query Engine, Prometheus Sidecar, Metrics Aggregator, and more such as Graphite storage and query engine.

Table of Contents

More Information

Community Meetings

You can find recordings of past meetups here: https://vimeo.com/user/120001164/folder/2290331.

Install

Dependencies

The simplest and quickest way to try M3 is to use Docker, read the M3 quickstart section for other options.

This example uses jq to format the output of API calls. It is not essential for using M3DB.

Usage

The below is a simplified version of the M3 quickstart guide, and we suggest you read that for more details.

  1. Start a Container
docker run -p 7201:7201 -p 7203:7203 --name m3db -v $(pwd)/m3db_data:/var/lib/m3db quay.io/m3db/m3dbnode:v1.0.0
  1. Create a Placement and Namespace
#!/bin/bash
curl -X POST http://localhost:7201/api/v1/database/create -d '{
  "type": "local",
  "namespaceName": "default",
  "retentionTime": "12h"
}' | jq .
  1. Ready a Namespace
curl -X POST http://localhost:7201/api/v1/services/m3db/namespace/ready -d '{
  "name": "default"
}' | jq .
  1. Write Metrics
#!/bin/bash
curl -X POST http://localhost:7201/api/v1/json/write -d '{
  "tags": 
    {
      "__name__": "third_avenue",
      "city": "new_york",
      "checkout": "1"
    },
    "timestamp": '\"$(date "+%s")\"',
    "value": 3347.26
}'
  1. Query Results

Linux

curl -X "POST" -G "http://localhost:7201/api/v1/query_range" \
  -d "query=third_avenue" \
  -d "start=$(date "+%s" -d "45 seconds ago")" \
  -d "end=$( date +%s )" \
  -d "step=5s" | jq .  

macOS/BSD

curl -X "POST" -G "http://localhost:7201/api/v1/query_range" \
  -d "query=third_avenue > 6000" \
  -d "start=$(date -v -45S "+%s")" \
  -d "end=$( date +%s )" \
  -d "step=5s" | jq .

Contributing

You can ask questions and give feedback in the following ways:

M3 welcomes pull requests, read contributing guide to help you get setup for building and contributing to M3.


This project is released under the Apache License, Version 2.0.

About

M3 monorepo - Distributed TSDB, Aggregator and Query Engine, Prometheus Sidecar, Graphite Compatible, Metrics Platform

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 97.0%
  • Shell 1.3%
  • HTML 0.8%
  • Makefile 0.3%
  • JavaScript 0.3%
  • TLA 0.1%
  • Other 0.2%