Scalable datastore for metrics, events, and real-time analytics
Switch branches/tags
Clone or download
stuartcarnie feat(tsm1): Improve performance of Gorilla float block decoding
```
name                        old time/op   new time/op    delta
FloatArrayDecodeAll/1-8      45.9ns ± 1%    13.8ns ± 1%   -70.00%  (p=0.000 n=9+9)
FloatArrayDecodeAll/55-8      686ns ± 0%     232ns ± 1%   -66.10%  (p=0.000 n=9+8)
FloatArrayDecodeAll/550-8    5.78µs ± 0%    2.22µs ± 1%   -61.61%  (p=0.000 n=9+9)
FloatArrayDecodeAll/1000-8   10.2µs ± 2%     4.0µs ± 5%   -60.47%  (p=0.000 n=10+10)

name                        old speed     new speed      delta
FloatArrayDecodeAll/1-8     414MB/s ± 1%  1383MB/s ± 1%  +233.76%  (p=0.000 n=9+9)
FloatArrayDecodeAll/55-8    144MB/s ± 0%   424MB/s ± 1%  +194.19%  (p=0.000 n=9+9)
FloatArrayDecodeAll/550-8   133MB/s ± 0%   346MB/s ± 1%  +160.09%  (p=0.000 n=9+10)
FloatArrayDecodeAll/1000-8  135MB/s ± 2%   340MB/s ± 5%  +153.03%  (p=0.000 n=10+10)
```
Latest commit 0734f6f Oct 11, 2018
Permalink
Failed to load latest commit information.
.circleci update CircleCI config to 2.0 syntax (#9711) Apr 16, 2018
.github Update issue templates May 7, 2018
.hooks Fix data race in WAL Mar 15, 2018
_tools/tmpl feat(tsm1): Add Read<type>ArrayBlock APIs to FileStore Jul 16, 2018
client Merge pull request #10125 from sangyun-han/master Oct 1, 2018
cmd Use platform for most of the read service code Oct 10, 2018
coordinator Ensure go fmt passes on 1.10/11 Aug 21, 2018
docker Use multistage builds in a Dockerfile to compile and create an image … Oct 27, 2017
etc Merge pull request #9801 from influxdata/bj-validate-write Aug 20, 2018
flux feat(flux): Update platform / flux packages and implement from source Oct 12, 2018
importer Fix imports of multiple databases in a single import file from `influ… Feb 9, 2018
internal Use platform for most of the read service code Oct 10, 2018
logger refactor(services/storage): Enhanced group support for Read RPC May 30, 2018
man Backup continue on errors (#10307) Sep 26, 2018
models Use platform for most of the read service code Oct 10, 2018
monitor golint monitor Oct 8, 2018
pkg feat(encoding): Improve integer and simple8b encoding performance Oct 16, 2018
prometheus Use platform for most of the read service code Oct 10, 2018
query Fixing the stream iterator to not ignore the error Oct 10, 2018
releng Update Go to 1.11 Sep 6, 2018
scripts Use correct variable style in influxdb.service Oct 3, 2017
services feat(flux): Update platform / flux packages and implement from source Oct 12, 2018
stress test(stress): Fix flaky test Aug 8, 2018
tcp Fix data races in tcp.Mux and tcp.listener Jan 19, 2018
tests Allow value filtering on SHOW TAG VALUES Jun 28, 2018
toml Allow customizing the unix socket group and permissions created by th… Apr 5, 2018
tsdb feat(tsm1): Improve performance of Gorilla float block decoding Oct 17, 2018
uuid golint uuid package Oct 8, 2018
.dockerignore decouple circleci from tests using docker Dec 14, 2015
.gitignore update CircleCI config to 2.0 syntax (#9711) Apr 16, 2018
.mention-bot Filtering some authors from mention bot May 11, 2016
CHANGELOG.md Update changelog Oct 16, 2018
CODING_GUIDELINES.md Fixes typo in CODING_GUIDELINES.md Feb 2, 2016
CONTRIBUTING.md Update Go to 1.11 Sep 6, 2018
DEPENDENCIES.md Merge branch 'update-license' of https://github.com/eirinikos/influxdb Oct 3, 2018
Dockerfile Update Go to 1.11 Sep 6, 2018
Dockerfile_build_ubuntu32 Update Go to 1.11 Sep 6, 2018
Dockerfile_build_ubuntu64 Update Go to 1.11 Sep 6, 2018
Dockerfile_build_ubuntu64_git Update Go to 1.11 Sep 6, 2018
Dockerfile_build_ubuntu64_go1.11 Test InfluxDB on Go 1.11rc1 Aug 21, 2018
Dockerfile_jenkins_ubuntu32 Add gcc to 32 bit build Sep 21, 2018
Dockerfile_test_ubuntu32 Use DEBIAN_FRONTEND=noninteractive when using apt-get in Dockerfiles Feb 19, 2016
Godeps Tidy up Sep 18, 2018
Gopkg.lock feat(flux): Update platform / flux packages and implement from source Oct 12, 2018
Gopkg.toml Switch to influxdata fork Sep 18, 2018
Jenkinsfile Update Go to 1.11 Sep 6, 2018
LICENSE Update year to 2016 in LICENSE Jan 16, 2016
QUERIES.md Updated Queries.md Oct 25, 2017
README.md edit InfluxDB license info so that GitHub recognizes it Apr 11, 2018
TODO.md Add TODO to change time boundaries for v2 Aug 15, 2016
appveyor.yml Update Windows CI Go to 1.10 Jul 17, 2018
build.py Use dep for dependency management instead of gdm Mar 12, 2018
build.sh rename influxdb/influxdb to influxdata/influxdb Feb 10, 2016
errors.go Add authorization error behavior API May 26, 2017
gobuild.sh make tip container usable for any git revision, add go1.6beta1 test Dec 16, 2015
influxdb.go Update godoc for the client packages Dec 30, 2016
nightly.sh Update packaing and build for new github org Jan 4, 2016
node.go Removed ineffective assignments, and added checks for errors that pre… Dec 29, 2016
test.sh Update Go to 1.11 Sep 6, 2018
write-gdm-deps.sh Update dependencies and remove unnecessary constraints from Gopkg.toml Mar 19, 2018

README.md

InfluxDB Circle CI Go Report Card Docker pulls

An Open-Source Time Series Database

InfluxDB is an open source time series database with no external dependencies. It's useful for recording metrics, events, and performing analytics.

Features

  • Built-in HTTP API so you don't have to write any server side code to get up and running.
  • Data can be tagged, allowing very flexible querying.
  • SQL-like query language.
  • Simple to install and manage, and fast to get data in and out.
  • It aims to answer queries in real-time. That means every data point is indexed as it comes in and is immediately available in queries that should return in < 100ms.

Installation

We recommend installing InfluxDB using one of the pre-built packages. Then start InfluxDB using:

  • service influxdb start if you have installed InfluxDB using an official Debian or RPM package.
  • systemctl start influxdb if you have installed InfluxDB using an official Debian or RPM package, and are running a distro with systemd. For example, Ubuntu 15 or later.
  • $GOPATH/bin/influxd if you have built InfluxDB from source.

Getting Started

Create your first database

curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE DATABASE mydb"

Insert some data

curl -XPOST "http://localhost:8086/write?db=mydb" \
-d 'cpu,host=server01,region=uswest load=42 1434055562000000000'

curl -XPOST "http://localhost:8086/write?db=mydb" \
-d 'cpu,host=server02,region=uswest load=78 1434055562000000000'

curl -XPOST "http://localhost:8086/write?db=mydb" \
-d 'cpu,host=server03,region=useast load=15.4 1434055562000000000'

Query for the data

curl -G "http://localhost:8086/query?pretty=true" --data-urlencode "db=mydb" \
--data-urlencode "q=SELECT * FROM cpu WHERE host='server01' AND time < now() - 1d"

Analyze the data

curl -G "http://localhost:8086/query?pretty=true" --data-urlencode "db=mydb" \
--data-urlencode "q=SELECT mean(load) FROM cpu WHERE region='uswest'"

Documentation

Contributing

If you're feeling adventurous and want to contribute to InfluxDB, see our contributing doc for info on how to make feature requests, build from source, and run tests.

Licensing

See LICENSE and DEPENDENCIES.

Looking for Support?

InfluxDB offers a number of services to help your project succeed. We offer Developer Support for organizations in active development, Managed Hosting to make it easy to move into production, and Enterprise Support for companies requiring the best response times, SLAs, and technical fixes. Visit our support page or contact sales@influxdb.com to learn how we can best help you succeed.