Go to file
Jason Wilder ae821f4e2d Rework compaction scheduling
This changes the compaction scheduling to better utilize the available
cores that are free.  Previously, a level was planned in its own goroutine
and would kick off a number of compactions groups.  The problem with this
model was that if there were 4 groups, and 3 completed quickly, the planning
would be blocked for that level until the last group finished.  If the compactions
at the prior level are running more quickly, a large backlog could accumlate.

This now moves the planning to a single goroutine that plans each level in
succession and starts as many groups as it can.  When one group finishes,
the planning will start the next group for the level.
2017-10-03 10:48:13 -06:00
.github Update issue template 2017-05-15 14:12:00 +01:00
.hooks
client 6563 Support Ctrl+C to cancel a running query in the Influx CLI 2017-09-01 08:02:27 -05:00
cmd Merge pull request #8892 from influxdata/jl-tag-values 2017-10-03 08:47:39 -04:00
coordinator Revert "Convert duration to string without dot and zeros" 2017-10-02 16:31:03 -05:00
etc Default concurrent compactions to 50% of available cores 2017-09-21 12:48:11 -06:00
importer Ensure importer emits errors to stderr (#8833) 2017-09-22 17:17:20 +01:00
influxql Merge with master 2017-09-29 11:07:40 -06:00
internal initial fga work 2017-05-26 13:16:27 -07:00
man Add a timezone component to the example backup command to make it 2017-06-16 15:43:33 -07:00
models Reduce lock contention when deleting high cardinality series 2017-09-07 11:36:02 -06:00
monitor Batch up writes for monitor service 2017-08-16 13:09:25 -06:00
pkg Rework compaction scheduling 2017-10-03 10:48:13 -06:00
prometheus Add support for Prometheus remote read and write API. (#8784) 2017-09-07 13:52:37 -04:00
query Support unsigned binary math in fields 2017-10-02 17:06:49 -05:00
releng Master 1657 (#8865) 2017-09-22 16:59:54 -04:00
scripts
services Add message pack formatter 2017-09-29 14:58:38 -05:00
stress adds a new header key/value X-Influxdb-Build that has value OSS if called from open-source build, and ENT if called from enterprise. This commit sets the value for the OSS case, and also creates the proper flag 2017-07-07 10:59:26 -04:00
tcp Use unbuffered error channels in tests 2017-01-17 10:53:15 -08:00
tests Revert "Convert duration to string without dot and zeros" 2017-10-02 16:31:03 -05:00
toml
tsdb Rework compaction scheduling 2017-10-03 10:48:13 -06:00
uuid
.dockerignore
.gitignore Use go junit formatter to output tests in junit format on CircleCI 2017-04-10 11:47:51 -05:00
.mention-bot
CHANGELOG.md Revert "Convert duration to string without dot and zeros" 2017-10-02 16:31:03 -05:00
CODING_GUIDELINES.md
CONTRIBUTING.md Update to go1.8.3 2017-05-26 09:12:31 -06:00
Dockerfile_build_ubuntu32 Update to go1.8.3 2017-05-26 09:12:31 -06:00
Dockerfile_build_ubuntu64 Update to go1.8.3 2017-05-26 09:12:31 -06:00
Dockerfile_build_ubuntu64_git Update to go1.8.3 2017-05-26 09:12:31 -06:00
Dockerfile_build_ubuntu64_go19 Add build for go 1.9 2017-07-21 12:37:52 -06:00
Dockerfile_test_ubuntu32
Godeps Add message pack formatter 2017-09-29 14:58:38 -05:00
LICENSE
LICENSE_OF_DEPENDENCIES.md Add message pack formatter 2017-09-29 14:58:38 -05:00
Makefile
QUERIES.md
README.md Deprecated use of CREATE DATABASE in a read only context, use a POST request instead 2017-01-18 19:26:28 +01:00
TODO.md
appveyor.yml Adjust AppVeyor CI options 2017-09-22 18:30:38 +01:00
build.py Remove the admin UI 2017-04-25 16:58:24 -05:00
build.sh
circle-test.sh Use go junit formatter to output tests in junit format on CircleCI 2017-04-10 11:47:51 -05:00
circle.yml Update to go1.8.3 2017-05-26 09:12:31 -06:00
errors.go Add authorization error behavior API 2017-05-26 13:21:59 -07:00
gobuild.sh make tip container usable for any git revision, add go1.6beta1 test 2015-12-16 15:28:35 -07:00
influxdb.go
nightly.sh
node.go
test.sh Add build for go 1.9 2017-07-21 12:37:52 -06:00

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.

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.