Go to file
Jonathan A. Sternberg a35d9602cd Fix where filters when a OR is used and when a tag does not exist
If an OR was used, merging filters between different expressions would
not work correctly. If one of the sides had a set of series ids with a
condition and the other side had no series ids associated with the
expression, all of the series from the side with a condition would have
the condition ignored. Instead of defaulting a non-existant series
filter to true, it should just be false and the evaluation of the one
side that does exist should take care of determining if the series id
should be included or not. The AND condition used false correctly so did
not have to be changed.

If a tag did not exist and `!=` or `!~` were used, it would return false
even though the neither a field or a tag equaled those values. This has
now been modified to correctly return the correct series ids and the
correct condition.

Also fixed a panic that would occur when a tag caused a field access to
become unnecessary. The filter using the field access still got created
and used even though it was unnecessary, resulting in an attempted
access to a non-initialized map.

Fixes #5152 and a bunch of other miscellaneous issues.
2016-03-22 12:19:06 -04:00
.github Added Pull Request Template 2016-02-25 20:25:23 +05:30
.hooks Use go1.4.3 2016-01-10 16:43:31 -07:00
client Create a Point from a models.Point 2016-03-14 16:59:06 +00:00
cluster Limit the maximum number of concurrent queries 2016-03-21 22:34:27 -04:00
cmd Fix where filters when a OR is used and when a tag does not exist 2016-03-22 12:19:06 -04:00
etc Remove unused WAL configuration variables/fields 2016-03-20 13:16:52 -07:00
importer Update README.md 2016-02-24 16:40:21 -08:00
influxql Merge pull request #6028 from influxdata/js-5116-default-no-fill-for-select-into 2016-03-22 12:13:17 -04:00
models Merge pull request #5994 from influxdata/single-server-lite 2016-03-14 16:11:37 -05:00
monitor Set the retention policy on the store 2016-02-23 11:32:07 +00:00
pkg add canonical paths 2016-02-10 11:30:52 -07:00
scripts Merge pull request #5536 from mmattioli/cleanup 2016-02-08 08:57:44 -07:00
services Merge pull request #5950 from influxdata/js-5939-query-manager 2016-03-21 16:02:26 -04:00
stress Fix influx stress point writer 2016-03-21 17:34:41 -04:00
tcp Improve logging and blocked connection handling in muxer 2016-03-16 12:26:14 -06:00
tests rename influxdb/influxdb to influxdata/influxdb 2016-02-10 10:26:18 -07:00
toml add canonical paths 2016-02-10 11:30:52 -07:00
tsdb Fix where filters when a OR is used and when a tag does not exist 2016-03-22 12:19:06 -04:00
uuid add canonical paths 2016-02-10 11:30:52 -07:00
.dockerignore decouple circleci from tests using docker 2015-12-14 16:39:39 -07:00
.gitignore b*1 to tsm1 shard converter 2015-12-29 15:31:07 -05:00
CHANGELOG.md Fix where filters when a OR is used and when a tag does not exist 2016-03-22 12:19:06 -04:00
CODING_GUIDELINES.md Fixes typo in CODING_GUIDELINES.md 2016-02-02 17:20:13 +05:30
CONTRIBUTING.md Remove build time linker flag so that we can create reproducible builds. 2016-02-25 09:35:03 -06:00
DOCKER.md Fix docker HTTP port example 2015-08-19 12:18:56 -06:00
Dockerfile Add instructions for building a minimal docker image 2015-08-07 14:27:33 -06:00
Dockerfile_build_ubuntu32 rename influxdb/influxdb to influxdata/influxdb 2016-02-10 10:26:18 -07:00
Dockerfile_build_ubuntu64 rename influxdb/influxdb to influxdata/influxdb 2016-02-10 10:26:18 -07:00
Dockerfile_build_ubuntu64_git rename influxdb/influxdb to influxdata/influxdb 2016-02-10 10:26:18 -07:00
Dockerfile_test_ubuntu32 rename influxdb/influxdb to influxdata/influxdb 2016-02-10 10:26:18 -07:00
Godeps Pinning golang.org/x/tools dependency in preparation for Go 1.4 EOL. 2016-02-29 16:19:06 -06:00
LICENSE Update year to 2016 in LICENSE 2016-01-16 13:09:14 +05:30
LICENSE_OF_DEPENDENCIES.md Add new dependency licenses 2016-03-17 11:26:04 +00:00
Makefile Update toml dependency for slice panic when reading the config 2016-02-23 08:45:01 -05:00
QUERIES.md Update QUERIES.md 2015-10-27 23:02:18 -07:00
README.md Update README for 0.10 2016-02-11 16:51:33 -08:00
build-docker.sh Modify shebang for Docker build script 2016-02-03 21:26:43 -05:00
build.py Added support for build tags using the 2016-03-16 16:31:23 -05:00
build.sh rename influxdb/influxdb to influxdata/influxdb 2016-02-10 10:26:18 -07:00
circle-test.sh add docker rm flag so circleci can disable deletion of containers 2016-02-02 15:18:58 -07:00
circle.yml decouple circleci from tests using docker 2015-12-14 16:39:39 -07:00
errors.go Check for shards needing conversion. Fixes #5723 2016-02-25 13:21:13 +00: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 add canonical paths 2016-02-10 11:30:52 -07:00
influxvar.go Fix minor typo in comment 2015-09-07 22:04:37 -07:00
nightly.sh Update packaing and build for new github org 2016-01-04 15:47:04 -08:00
node.go Remove MetaServers from node.json 2016-02-15 22:42:51 -07:00
package.sh Use go1.4.3 2016-01-10 16:43:31 -07:00
test.sh Minor updates to build.py and test.sh: 2016-03-16 11:02:01 -05:00

README.md

InfluxDB Circle CI

An Open-Source, Distributed, Time Series Database

InfluxDB is an open source distributed 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.
  • Clustering is supported out of the box, so that you can scale horizontally to handle your data. Clustering is currently in an alpha state.
  • 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 -G '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.