Go to file
Sam Arnold 903b8cd0ea
feat(query): Hyper log log operators in influxql (#20603)
* feat(query): hyper log log counting in query engine

In addition to helping with normal queries, this can improve the 'SHOW CARDINALITY'
meta-queries:

time influx -database mydb -execute 'select count_hll(sum_hll(_seriesKey)) from big'
name: big
time count_hll
---- ---------
0    200767781
influx -database mydb -execute   0.06s user 0.12s system 0% cpu 8:49.99 total
2021-02-08 08:38:14 -05:00
.circleci update CircleCI config to 2.0 syntax (#9711) 2018-04-16 12:00:44 -07:00
.github to fix the dead link 2018-10-31 16:38:15 +09:00
.hooks chore: add goimports to ci checks 2021-01-29 11:39:42 -05:00
_tools/tmpl chore: fix code format (#18013) 2020-06-22 15:23:36 -07:00
client fix: minor test fixes for go1.15 and also flaky timeouts 2021-01-08 14:59:33 -05:00
cmd feat: series creation ingress metrics (#20700) 2021-02-05 14:52:43 -04:00
coordinator feat: measurement metrics by login (#20687) 2021-02-04 11:52:53 -05:00
docker Use multistage builds in a Dockerfile to compile and create an image from source 2017-10-27 10:28:14 -05:00
etc feat: measurement metrics by login (#20687) 2021-02-04 11:52:53 -05:00
flux chore: run goimports -w ./ 2021-01-29 11:40:02 -05:00
importer Update README.md 2019-08-01 17:32:51 -07:00
internal feat: measurement metrics by login (#20687) 2021-02-04 11:52:53 -05:00
logger Merge branch '1.8' into modify-contextkey 2019-02-04 20:41:11 +09:00
man Backup continue on errors (#10307) 2018-09-26 14:44:14 -04:00
mock Update flux version to v0.50.2 2019-10-29 16:19:14 -05:00
models Update flux version to v0.33.2 (#14208) 2019-06-27 13:52:02 -05:00
monitor golint monitor 2018-10-08 20:53:29 +01:00
patches build(flux): update Flux to v0.64.0 2020-03-11 15:17:44 -05:00
pkg feat(query): Hyper log log operators in influxql (#20603) 2021-02-08 08:38:14 -05:00
prometheus fix(prometheus): regexp handling should comply with PromQL (#19832) (#20388) 2020-12-18 14:58:29 -08:00
query feat(query): Hyper log log operators in influxql (#20603) 2021-02-08 08:38:14 -05:00
releng build: switch tested centos base images (#20417) 2020-12-23 21:17:55 -08:00
scripts fix(package): make rpm verify pass after installation 2019-04-30 12:10:40 +02:00
services feat: measurement metrics by login (#20687) 2021-02-04 11:52:53 -05:00
storage/reads chore: run goimports -w ./ 2021-01-29 11:40:02 -05:00
stress chore: run goimports -w ./ 2021-01-29 11:40:02 -05:00
tcp fix: cp.Mux.Serve() closes all net.Listener instances silently on error. (#20278) 2020-12-08 16:17:59 -08:00
tests fix: Move value metric down to tsdb store 2021-02-02 10:58:47 -05:00
toml Fix ApplyEnvOverrides when a type that implements Unmarshaler is in a slice 2018-11-18 10:49:04 -06:00
tsdb feat(query): Hyper log log operators in influxql (#20603) 2021-02-08 08:38:14 -05:00
uuid golint uuid package 2018-10-08 21:21:44 +01:00
.dockerignore decouple circleci from tests using docker 2015-12-14 16:39:39 -07:00
.gitignore fix: minor test fixes for go1.15 and also flaky timeouts 2021-01-08 14:59:33 -05:00
.mention-bot Filtering some authors from mention bot 2016-05-11 17:43:52 +01:00
CHANGELOG.md Merge branch 'master-1.x' into 18391/cors_v1 2020-06-26 06:29:30 +02:00
CODING_GUIDELINES.md chore: add goimports to ci checks 2021-01-29 11:39:42 -05:00
CONTRIBUTING.md chore: update docs with install instructions for goimports 2021-01-29 11:45:17 -05:00
DEPENDENCIES.md Merge branch 'update-license' of https://github.com/eirinikos/influxdb into eirinikos-update-license 2018-10-02 20:29:00 -07:00
Dockerfile fix: Ensure proper go versions (#17230) 2020-03-13 09:48:36 -04:00
Dockerfile_build_ubuntu32 feat(modules): Use modules & remove Gopkg.* 2020-02-26 17:27:56 -05:00
Dockerfile_build_ubuntu64 feat(modules): Use modules & remove Gopkg.* 2020-02-26 17:27:56 -05:00
Dockerfile_build_ubuntu64_git fix(test): use go 1.13 in test scripts (#18529) 2020-06-22 15:29:17 -07:00
Dockerfile_build_ubuntu64_go1.13 fix(test): use go 1.13 in test scripts (#18529) 2020-06-22 15:29:17 -07:00
Dockerfile_jenkins_ubuntu32 fix(test): use go 1.13 in test scripts (#18529) 2020-06-22 15:29:17 -07:00
Dockerfile_test_ubuntu32 Use DEBIAN_FRONTEND=noninteractive when using apt-get in Dockerfiles 2016-02-18 21:58:14 -05:00
Jenkinsfile feat(modules): Use modules & remove Gopkg.* 2020-02-26 17:27:56 -05:00
LICENSE chore: Update copyright information 2018-12-05 14:49:56 -07:00
QUERIES.md Updated Queries.md 2017-10-25 09:05:52 +02:00
README.md fix(docs): Update docs to reflect tooling changes (#17798) 2020-04-20 17:49:19 +00:00
TODO.md Add TODO to change time boundaries for v2 2016-08-15 16:21:20 -05:00
appveyor.yml Bump Appveyor to Go 1.12 2019-07-15 11:29:31 -07:00
build.py chore: add goimports to ci checks 2021-01-29 11:39:42 -05:00
build.sh feat(modules): Use modules & remove Gopkg.* 2020-02-26 17:27:56 -05:00
errors.go Add authorization error behavior API 2017-05-26 13:21:59 -07:00
go.mod feat(tsi): optimize series iteration 2021-01-25 14:27:31 -05:00
go.sum fix: Upgrade version of jwt-go package to v4.0.0 (#19893) 2020-11-05 10:55:24 -05: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 Update godoc for the client packages 2016-12-30 11:58:43 -08:00
nightly.sh Update packaing and build for new github org 2016-01-04 15:47:04 -08:00
node.go Removed ineffective assignments, and added checks for errors that previsouly was not checked 2016-12-29 20:26:15 +01:00
test.sh fix(test): use go 1.13 in test scripts (#18529) 2020-06-22 15:29:17 -07:00
write-gdm-deps.sh Update dependencies and remove unnecessary constraints from Gopkg.toml 2018-03-19 11:12:49 -05:00

README.md

InfluxDB Circle CI Go Report Card Docker pulls

ATTENTION:

Around January 11th, 2019, master on this repository will become InfluxDB 2.0 code. The content of infludata/platform will be moved to this repository. If you rely on master, you should update your dependencies to track the maxter-1.x branch.

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.