Go to file
Michael Desa b86c0d31d7 Refactor stress tool
Add StressTest type and auxillary interfaces

Add config structs

Move generator to config

Add utility methods used in stress

Add basic components for a stress test

Add touches

Add configuration options

Add unified results handlers

Add final print out of results

Add Success function to response type

Add query support

Send query results

Add comments to run.go

Change Basic to BasicWriter

Add basic query

Add incomplete README

Abstract out response handling

Change plugin to basic

Add responseHandler type

Add additional parameter to Query function

Add todo comments and cleanup main

Lower hard coded value

Add flag for profiling

Fix race condition

Wait at the right place

Chane point from struct to interface

Improve generic write throughput

Reorganize

Fastest State

Add toml config

Add test server

Add basic working version of config file

Move config file logic into its own file

Fix broken config file

Add query count to stress config

Add support for concurrency and batch interval

Reorder config option

Remove unneeded init

Remove old stress package

Move new stress code into stress directory

Rework influx_stress tool

Do something reasonable if no config is given

Remove unneeded comments

Add tests for stress package

Add comments and reorganize code

Add more comments

Count lines posted correctly

Add NewConfig method

Fix style issues

Add backticks to flag description

Fix grammar

Remove `StartTimer` calls where appropriate

Fix comment language

Change Reader to Querier

Reorder defer

Fix issues bought up by golint

Add more comments

Add more detailed Readme

Increase counter appropriately

Add return errors where appropriate

Add test coverage

Move `now()` from QueryClient to QueryGenerator
2015-11-17 12:16:31 -08:00
.hooks refactor tsdb query engine 2015-10-22 09:41:12 -06:00
client Create a new query request for each Query 2015-11-06 15:22:42 -07:00
cluster PointsWriter will drop writes to subscriber service for any in-flight writes 2015-11-05 16:25:00 -07:00
cmd Refactor stress tool 2015-11-17 12:16:31 -08:00
etc clarify config comment 2015-11-11 11:16:40 -06:00
importer Importer fixes. fixes #4650 #4651 2015-11-03 16:26:17 -06:00
influxql Added IF EXISTS for DROP DATABASE command, #4659 2015-11-07 10:57:49 +08:00
meta test auto replace raft node 2015-11-11 10:04:26 -06:00
models Implement a UDP client 2015-11-04 14:18:14 -07:00
monitor Prevent creating points with NaN float values 2015-10-27 17:12:52 -06:00
pkg Complete lint for pkg/slices 2015-11-09 20:21:03 +01:00
scripts specify shell on pidfile touch on service start 2015-10-01 15:30:14 -05:00
services Revert "Merge pull request #4684 from nkatsaros/default-config" 2015-11-11 09:29:06 -08:00
shared/admin Adds subscriber service for creating/dropping subscriptions to the 2015-10-14 15:23:45 -06:00
snapshot Refactor backup and restore 2015-06-10 22:07:01 -06:00
statik Adds subscriber service for creating/dropping subscriptions to the 2015-10-14 15:23:45 -06:00
stress Refactor stress tool 2015-11-17 12:16:31 -08:00
tcp add tcp log tag 2015-10-27 15:31:20 +08:00
tests Update test scripts to use measurement for JSON 2015-06-02 20:44:11 -06:00
toml reneable toml test TestConfig_Encode fixes #4691 2015-11-05 18:40:42 -06:00
tsdb Removing reference to strings.Compare for downgrade from Go 1.5 to Go 1.4. 2015-11-11 14:40:34 -06:00
uuid Changes to make the uuid subpakage golint-able. 2015-09-18 22:47:15 -05:00
.gitignore tsm1 meta lint 2015-10-15 15:03:10 -06:00
CHANGELOG.md Merge pull request #4685 from influxdb/heal-raft-cluster 2015-11-11 11:44:12 -06:00
CONTRIBUTING.md Small re-org of CONTIBUTING doc 2015-11-04 13:05:08 -08: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_test_ubuntu32 Fix 32bit Dockerfile 2015-08-27 09:58:19 -07:00
LICENSE update the year in the LICENSE file 2015-01-05 21:35:28 -08:00
LICENSE_OF_DEPENDENCIES.md updating Golang crypto 2015-11-04 15:30:32 -08:00
Makefile tsm1 meta lint 2015-10-15 15:03:10 -06:00
QUERIES.md Update QUERIES.md 2015-10-27 23:02:18 -07:00
README.md now -> now() in README example 2015-09-17 21:41:48 -07:00
build-docker.sh refactor remote mapping 2015-08-22 10:16:41 -04:00
circle-test.sh Run 1 container of tests with the tsm1 engine 2015-10-23 13:58:15 -06:00
circle.yml Move to Go 1.5.1 2015-10-05 12:35:13 -07:00
errors.go tsm1 meta lint 2015-10-15 15:03:10 -06:00
influxvar.go Fix minor typo in comment 2015-09-07 22:04:37 -07:00
nightly.sh Tweak nightly build race-enabled builds 2015-10-07 22:16:17 -07:00
package.sh No need to quote build date during packaging 2015-10-30 15:42:29 -07:00
test-32bit-docker.sh Run 32bit tests in CircleCI + Added script to run them separately 2015-08-19 16:20:53 -04:00

README.md

InfluxDB Circle CI

An Open-Source, Distributed, Time Series Database

InfluxDB v0.9.0 is now out. Going forward, the 0.9.x series of releases will not make breaking API changes or breaking changes to the underlying data storage. However, 0.9.0 clustering should be considered an alpha release.

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.
  • 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.

Getting Started

The following directions apply only to the 0.9.0 release or building from the source on master.

Building

You don't need to build the project to use it - you can use any of our pre-built packages to install InfluxDB. That's the recommended way to get it running. However, if you want to contribute to the core of InfluxDB, you'll need to build. For those adventurous enough, you can follow along on our docs.

Starting InfluxDB

  • 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.

Creating 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'"