Commit Graph

438 Commits (a3b88d55067c3b022e242ebc641cb563f04c4e4e)

Author SHA1 Message Date
Andrew Lamb eb8aba75ec
fix: Update src/id.rs from PR review
Co-authored-by: Edd Robinson <me@edd.io>
2020-06-30 16:23:35 -04:00
alamb 9c11ae9869 feat: improve error messages and logging 2020-06-30 12:46:54 -04:00
alamb 8be278aadd fix: speed up end-to-end test harness so it polls rather than waits 2020-06-30 12:21:25 -04:00
alamb dc8d655486 feat: Implement CapabilitiesResponse 2020-06-30 11:17:45 -04:00
Andrew Lamb 97a5eb7e19
Merge pull request #197 from influxdata/alamb/log-requests
feat: Log gRPC calls using trace crate, allow custom log levels
2020-06-30 10:47:11 -04:00
Andrew Lamb 07e61cdf06
fix: fix comments
Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-06-29 16:35:07 -04:00
Carol (Nichols || Goulding) 2bf9037422 refactor: Use built-in clap functionality that uses FromStr to enum
Then we can pass around an enum value and not worry about doing the
conversion anywhere else.
2020-06-29 10:54:48 -04:00
Carol (Nichols || Goulding) c6f2508abe fix: Use clap's possible_values method
This gets us built-in help text and error messages, and does less work
before failing because of an unsupported value.

Before this change, the help text was:

```
OPTIONS:
        --compression-level <compression_level>
            Compression level: max or compatibility (default). [default: compatibility]
```

After this change, the help text is:

```
OPTIONS:
        --compression-level <compression_level>
            How much to compress the output data. 'max' compresses the most; 'compatibility' compresses in a manner more
            likely to be readable by other tools. [default: compatibility]  [possible values: max, compatibility]
```

Before this change, if you supplied an unsupported value, the error was:

```
[2020-06-29T14:47:42Z INFO  delorean::commands::convert] convert starting
[2020-06-29T14:47:42Z INFO  delorean::commands::convert] Preparing to convert 591 bytes from tests/fixtures/lineproto/temperature.lp
Conversion failed: Error creating a parquet table writer Unknown compression level 'foo'. Valid options 'max' or 'compatibility'
```

After this change, the error is:

```
error: 'foo' isn't a valid value for '--compression-level <compression_level>'
	[possible values: compatibility, max]
```
2020-06-29 10:53:01 -04:00
alamb 5fe022366b fix: Use std::str::FromStr and add -c 2020-06-29 10:25:43 -04:00
alamb e8a0233b09 feat: add configurable compression level 2020-06-29 10:25:43 -04:00
alamb 283d6691c6 feat: enable rpc debug tracing, tweaked logging levels, respect RUST_FMT env var 2020-06-29 09:59:22 -04:00
Jake Goulding 99549953d6
Merge pull request #193 from influxdata/idiomatic-snafu 2020-06-26 16:35:23 -04:00
Jake Goulding 672afa1195 refactor: Merge unknown and missing extension errors 2020-06-26 16:07:35 -04:00
Jake Goulding aca63b68b2 refactor: Use more unique errors for the commands 2020-06-26 16:01:59 -04:00
Carol (Nichols || Goulding) 7f838efd80
Merge pull request #187 from influxdata/cn-bool-enc 2020-06-26 15:45:42 -04:00
Jake Goulding bca4d00716 refactor: use SNAFU more idiomatically in command modules 2020-06-26 13:26:51 -04:00
Carol (Nichols || Goulding) 9ef07cac14 feat: Implement boolean encoding
Fixes #149.
2020-06-26 10:36:27 -04:00
Carol (Nichols || Goulding) 4df99f1a7c style: Enable the clippy warning to use `Self` when recommended
Fixes #158.
2020-06-25 07:38:58 -04:00
Carol (Nichols || Goulding) afcd1efd1e style: Unify lints everywhere
Then fix the failures, mostly by adding derives and then removing some
unneeded (cheap) clones.

Document places where we purposefully don't use the same lints.

Not unifying missing_docs.

👀 https://github.com/rust-lang/cargo/issues/5034
2020-06-25 07:28:42 -04:00
Carol (Nichols || Goulding) 423ee71f5e refactor: Remove duplicated lint rules
These get inherited from crate root files, so the lint rules in
src/main.rs apply in this file already.
2020-06-24 16:56:16 -04:00
Andrew Lamb ab22384009
Merge pull request #186 from influxdata/alamb/refactor-parquet-deps
refactor: clean up parquet library deps and remove use of InputReaderAdapter (related to parquet dependencies)
2020-06-24 09:42:44 -04:00
Carol (Nichols || Goulding) 6fb107af68
Merge pull request #178 from influxdata/cn-u64-enc 2020-06-24 08:48:57 -04:00
alamb 2c4a9dba53 fix: cleanup comment + code order 2020-06-23 17:21:20 -04:00
alamb b22423621b refactor: remove InputReaderAdapter 2020-06-23 17:15:02 -04:00
Andrew Lamb 86a425e5ef
feat: Add support for parsing bool values in line protocol parser (#156)
* feat: Implement boolean support for the line protcol parser

* fix: Apply suggestions from code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* fix: fmt+clippy

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-06-22 16:58:38 -04:00
Carol (Nichols || Goulding) 294163bed0 feat: Implement unsigned encoding 2020-06-22 16:52:24 -04:00
Carol (Nichols || Goulding) 1e341a7321 fix: Encode and decode string data as bytes
String data isn't guaranteed to be UTF-8
2020-06-22 15:32:14 -04:00
Carol (Nichols || Goulding) d7dbf061cb feat: Implement String encoding/decoding
Fixes #148.
2020-06-22 15:15:34 -04:00
Edd Robinson 106bd69b5a feat: support converting from TSM->Parquet 2020-06-22 18:56:17 +01:00
Edd Robinson 621f2f91f0 refactor: hoist tsm mapper to delorean_tsm 2020-06-22 18:56:17 +01:00
Edd Robinson f046dbeea0 refactor: organise code in delorean_tsm crate 2020-06-22 18:56:17 +01:00
Edd Robinson 0ca6fdfa5f refactor: StorageError -> TSMError 2020-06-22 18:56:17 +01:00
Edd Robinson 85e0b4ec16 refactor: hoist tsm reader into own crate 2020-06-22 18:56:17 +01:00
Edd Robinson fd9f2ea5b8 refactor: split out index reading and block decoding
This commit splits out the functionality required to read a TSM file's
index, and decode the blocks within the file.
2020-06-22 18:56:17 +01:00
Edd Robinson 6339083b87 feat: implement mapping between blocks and table
This commit implements the ability to map from multiple columns into a
single tablular view, where columns are aligned by their timestamp
components.
2020-06-22 18:56:17 +01:00
Edd Robinson 5418b34fcc feat(tsm): map TSM data model to table model
This commit adds a new type `TSMMeasurementMapper` that will iterate
through a `TSMReader`'s index and collect together all series and blocks
by measurement. These units are called `MeasurementTable`s.
2020-06-22 18:56:17 +01:00
Andrew Lamb 506a7f19d5
feat: add stats command for computing storage statistics (#160)
* feat: add stats command for computing storage statistics

* fix: Make function name less redundant

* fix: Apply suggestions from code review

Co-authored-by: Jake Goulding <jake.goulding@integer32.com>

* fix: remove changes to Cargo.lock

* fix: Cleanup to use `impl Into<String>` rather than String::from

* fix: fmt

* fix: less mut builder

* fix: fmt

* fix: clippy/fmt

* fix: fixup test

* fix: remove dstool reference

Co-authored-by: Jake Goulding <jake.goulding@integer32.com>
2020-06-22 07:33:52 -04:00
Carol (Nichols || Goulding) 78c2fb99ac refactor: Remove all references to 'dstool'
Since it got merged into the main `delorean` binary.
2020-06-19 11:08:59 -04:00
Andrew Lamb 8185c80c03
fix: fix logical merge conflict (#169) 2020-06-18 18:51:25 -04:00
Andrew Lamb a106e55fa6
feat: Add parquet metadata dumping (#159)
* feat: Add parquet metadata dumping

* fix: Update delorean_parquet/src/error.rs

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-06-18 18:34:49 -04:00
Andrew Lamb ae37548980
feat: Add support for parsing string values in line protocol parser (#155)
* feat: add debug logging on parser error

* feat: Add support for parsing string values in line protocol parser

* fix: Fix comment

* fix: Apply suggestions from code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-06-18 12:44:17 -04:00
Andrew Lamb 91de50a3a7
refactor: Refactor convert command code to have a place for TSM (#164) 2020-06-18 09:57:54 -04:00
Andrew Lamb 8f51b8a5c1
fix: Avoid hard coded length in doc example (#146) 2020-06-16 16:38:29 -04:00
Andrew Lamb d9278263a7
feat: write multiple measurements to multiple parquet files (#138)
* feat: write to a directory of parquet files

* feat: change LineProtocolConverter to push style, move sampling there

* feat: full push mode, write to multiple measurements

* fix: clarify comments on finalize

* fix: Apply suggestions from code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* fix: clippy/fmt

* fix: remove whitespace

* fix: Apply suggestions from code review

Co-authored-by: Jake Goulding <jake.goulding@integer32.com>

* fix: fmt

* fix: make it compile again

* fix: fixup comments

Co-authored-by: Jake Goulding <jake.goulding@integer32.com>

* fix: remove unecessary debug implementation

* fix: cleaner comment

Co-authored-by: Jake Goulding <jake.goulding@integer32.com>

* fix: clearer iterator name

Co-authored-by: Jake Goulding <jake.goulding@integer32.com>

* fix: Apply suggestions from code review

Co-authored-by: Jake Goulding <jake.goulding@integer32.com>

* fix: clean

* fix: make it compile

* fix: type fix

* fix: whitespace

* fix: more review comments

* fix: more review comments

* fix: code review comments + fmt

* fix: clippy

* fix: Use EscapedStr directly for performance

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
Co-authored-by: Jake Goulding <jake.goulding@integer32.com>
2020-06-12 17:19:35 -04:00
Edd Robinson 5ff6652cfc refactor: simplify TSMReader API
This commit simplifies the TSMReader API to reduce the amount of mutable
state, and simplify how it's used as an iterator.
2020-06-10 22:42:24 +01:00
Andrew Lamb faf3f534ac
refactor: move all dstool code into delorean binary (#131)
* refactor: move all dstool code into delorean binary

* fix: Move code/mods to make it compile and run

* fix: warn if db dir does not exist

* refactor: Match argument subcommands w/ more idomatic  rust

* fix: Apply suggestions from code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

fix: restore hyper logging

fix: Apply suggestions from code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* fix: update expected code

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-06-10 16:04:46 -04:00
Andrew Lamb 1bc9517b5d
refactor: Move delorean server code into its own module (#130) 2020-06-09 12:28:56 -04:00
Andrew Lamb f1a3058b24
feat: Add file / metadata inspection + dumping with dstool (#112)
* feat: Add file / metadata inspection + dumping

* fix: apply some PR review comments

* fix: apply suggestions from code review

Co-authored-by: Jake Goulding <jake.goulding@integer32.com>

* feat: Add tests, rearrange code into modules, add gzip aware interface

* fix: fix comment and test

* fix: test output and fmt

Co-authored-by: Jake Goulding <jake.goulding@integer32.com>
2020-06-09 10:10:55 -04:00
Jake Goulding df39eca043 style: Apply standard lints across all crates 2020-06-05 17:02:54 -04:00
Andrew Lamb e0c38d0976
chore: Add test to check for tsm reading errors, update doc example (#117)
* chore: Add a test that decodes the entire tsm index

* fix: update test and change example to not use hard coded len

* fix: comment cleanup

* fix: clippy

* fix: Apply suggestions from code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
Co-authored-by: Jake Goulding <jake.goulding@integer32.com>

* fix: fmt/clippy after code review

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
Co-authored-by: Jake Goulding <jake.goulding@integer32.com>
2020-06-05 16:22:56 -04:00
Jake Goulding 68fb580b43
style: Re-enable the elided lifetimes lint and move generated types to their own crate (#119)
* refactor: rename the module containing generated types

The nested `delorean` was confusing anyway, and this will make more
sense when we extract a new crate.

* refactor: Move the generated types to their own crate

This allows us to have more lax warnings in that crate alone, keeping
the main crate more strict.

* style: Re-enable elided lifetimes lint in the main crate
2020-06-05 16:22:27 -04:00
Edd Robinson 4201f7ebbd refactor: address PR feedback 2020-06-04 15:47:27 +01:00
Edd Robinson 138ff7329d refactor: please the clippy gods 2020-06-04 14:36:43 +01:00
Edd Robinson aeeff5cfb7 docs: add some TSMReader documentation 2020-06-04 14:36:43 +01:00
Edd Robinson 887ffd5977 refactor: remove lifetime to make index re-usable 2020-06-04 14:36:43 +01:00
Edd Robinson 481ce5f136 refactor: use constants for block type 2020-06-04 14:36:43 +01:00
Edd Robinson 76442b752a refactor: clippy 2020-06-04 14:36:43 +01:00
Edd Robinson e3db077121 feat: add API for series key information 2020-06-04 14:36:43 +01:00
Edd Robinson b94d4ddd94 feat: add support for decoding blocks 2020-06-04 14:36:43 +01:00
Edd Robinson 413738a264 feat: support org and bucket ID in entries 2020-06-04 14:36:43 +01:00
Edd Robinson 97e77a681b feat: add basic TSM reader
This commit adds a basic TSM file reader, which will provide an iterator
over the TSM index.
2020-06-04 14:36:43 +01:00
Edd Robinson 2914535c72 refactor: move Encoder trait up 2020-06-04 14:36:43 +01:00
Edd Robinson 42bd4bf492 refactor: add influxdb support to decoder
InfluxDB's float encoder uses a different NaN value to terminate a
block. In order to support decoding float blocks that are inside of TSM
files created by InfluxDB this commit adds the option to explictly
decode those via another decode method.

In the future this API may get simplified if we decide we only need the
float encoder/decoder for encoding and decoding blocks solely
originating from InfluxDB.
2020-06-02 12:19:48 +01:00
Edd Robinson 979e8ee2c2 fix(encoders): RLE compatibility with influxdb
The RLE encoder was implemented in a correct way, but not in a way that
was byte for byte compatible with the InfluxDB RLE encoder/decoder. This
commit changes the implementation to make this encoder compatible with
the InfluxDB implementation.
2020-05-31 10:02:06 +01:00
Andrew Lamb 3e0c7e25ff
test: Add comments and some more tests to parsers (#96)
* test: Add comments and some more tests to parsers

* Update delorean_line_parser/src/lib.rs

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* Update src/line_parser.rs

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* Update src/line_parser.rs

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* Update delorean_line_parser/src/lib.rs

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* Remove end to end test as it is now covered by docs

* Update src/line_parser.rs

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>

* one final tweak

Co-authored-by: Carol (Nichols || Goulding) <193874+carols10cents@users.noreply.github.com>
2020-05-28 05:32:40 -04:00
Carol (Nichols || Goulding) 4ac063088d
Merge pull request #91 from influxdata/cn-wal-metadata 2020-05-27 09:22:27 -04:00
Jake Goulding d4af54c3de refactor: extract the line protocol parser to a separate crate
This will facilitate reusing the parser for other tasks.
2020-05-26 13:22:34 -04:00
Jake Goulding d394e2177f test: Rewrite line_parser tests at a lower level
This will ease extracting them to a separate crate
2020-05-25 20:57:48 -04:00
Jake Goulding e573ca0061 test: Combine duplicate tests 2020-05-25 20:57:39 -04:00
Carol (Nichols || Goulding) 0d023b60a4 feat: Metadata file 2020-05-22 11:36:26 -04:00
Jake Goulding 59493c9903 feat: Allow an HTTP task to sync the WAL to disk immediately 2020-05-20 09:26:13 -04:00
Jake Goulding cbf4dd96e1 feat: Track a sequence number in the WAL 2020-05-13 09:17:33 -04:00
Carol (Nichols || Goulding) e25a4e1e83 feat: Integrate the WAL with delorean 2020-05-11 15:38:47 -04:00
Carol (Nichols || Goulding) 2014a749aa fix: Update after rebasing on the switch from BTreeMap to BTreeSet 2020-05-04 16:35:50 -04:00
Carol (Nichols || Goulding) 7d568704cd feat: Implement MeasurementFields gRPC request 2020-05-04 15:52:01 -04:00
Carol (Nichols || Goulding) e615607f4a feat: Implement MeasurementTagValues gRPC request 2020-05-04 15:52:01 -04:00
Carol (Nichols || Goulding) 1ab9230654 feat: Implement measurement tag keys request 2020-05-04 15:52:00 -04:00
Carol (Nichols || Goulding) e6e911ce3c feat: Implement the Measurement Names gRPC request 2020-05-04 15:52:00 -04:00
Carol (Nichols || Goulding) fbf25a5f8b feat: Update protobuf from idpe and influxdb 2020-05-04 15:52:00 -04:00
Carol (Nichols || Goulding) 415c8d5c5c
Merge pull request #79 from influxdata/cn-btreeset 2020-05-04 14:41:47 -04:00
Carol (Nichols || Goulding) c6dbba2e71 refactor: Use BTreeSet instead of BTreeMap<_, bool> 2020-05-01 14:49:07 -04:00
Jake Goulding e369ada35a refactor: extract a crate with our custom assertions
There's probably an existing crate that we should use directly, but I
haven't found an exact match yet.
2020-05-01 13:04:24 -04:00
Carol (Nichols || Goulding) 7f9eaf51d5
Merge pull request #74 from influxdata/cn-generate-points 2020-04-24 08:08:32 -04:00
Edd Robinson f1d5d50b92
Merge pull request #68 from influxdata/er-block-writer
feat: add Block Type
2020-04-23 22:48:38 +01:00
Carol (Nichols || Goulding) fa69101945 refactor: Move the point utilities into a workspace crate 2020-04-23 11:26:37 -04:00
Carol (Nichols || Goulding) 2ecb3b0525 feat: Add some debug logging when receiving a write request 2020-04-23 11:11:56 -04:00
Carol (Nichols || Goulding) 6791b9598c feat: Utility to take line protocol and make write requests 2020-04-23 11:11:51 -04:00
Carol (Nichols || Goulding) 0956b665d8 feat: Add a utility to generate points in line protocol to stdout 2020-04-23 11:11:46 -04:00
Edd Robinson 4ee8c1ac46 docs: clarify checksum usage 2020-04-23 10:39:17 +01:00
Edd Robinson e5e3903771 fix: seek back to last offset 2020-04-23 10:39:17 +01:00
Edd Robinson 7d625648c9 refactor: remove redundant block members 2020-04-23 10:25:00 +01:00
Edd Robinson 8dc258b153 refactor: improve push 2020-04-22 13:45:41 +01:00
Edd Robinson 138c54b1a9 refactor: return option to reference 2020-04-22 12:18:51 +01:00
Edd Robinson 3a9f8aeeb8 docs: specify endianness 2020-04-21 17:31:59 +01:00
Edd Robinson 79506f3d3b refactor: use u16 for summary counts 2020-04-21 17:25:07 +01:00
Jake Goulding d31bcd2c0e fix: Support negative timestamp values
Also add proper errors for out-of-range values.
2020-04-17 10:32:58 -04:00
Carol (Nichols || Goulding) 4aae16066b fix: Support negative integer and floating-point field values
Also add proper errors for out-of-range values.
2020-04-17 10:32:55 -04:00
Carol (Nichols || Goulding) 40f8104e58 fix: Correct reference of RocksDB to MemDB; rest of comment still applies 2020-04-13 16:40:38 -04:00
Carol (Nichols || Goulding) fb8f736e54 refactor: Encode that Id cannot be 0 by using NonZeroU64 2020-04-13 16:40:38 -04:00
Carol (Nichols || Goulding) 6dd7c0a3e8 fix: Treat gRPC bucket_id as bucket name because MemDB assigns bucket ID 2020-04-13 16:40:38 -04:00
Carol (Nichols || Goulding) aecb390fcd feature: Add a create bucket HTTP api
For convenience when using cURL; easier to generate requests than using
gRPC.
2020-04-13 16:40:38 -04:00
Carol (Nichols || Goulding) 429d0e1851 fix: Change name of the proto package to match proto used by Go
So that `storectl query` requests will work with delorean
2020-04-13 16:40:38 -04:00
Carol (Nichols || Goulding) a85f0edfc6 feature: Use the new ID type everywhere 2020-04-13 16:40:38 -04:00
Carol (Nichols || Goulding) 7be1d3437e feature: Add an ID type that matches the Go code
16 character hexadecimal strings to u64s. All zeroes are invalid.
2020-04-13 16:40:38 -04:00
Carol (Nichols || Goulding) 27bb803ad3 fix: Return HTTP No Content on successful write
The `inch` tool expects status code 204 instead of 200, so actually send
no content instead of empty JSON.
2020-04-13 16:40:38 -04:00
Carol (Nichols || Goulding) 4a0e2cddb9 test: Ensure the parser supports lines with a field but no time 2020-04-13 16:40:38 -04:00
Carol (Nichols || Goulding) 9296eb4802 feature: If a line has no time, use the current time 2020-04-13 16:40:38 -04:00
Carol (Nichols || Goulding) 0314bc6ba2 fix: Change the default gRPC port to match storectl
8082 appears to be the default here:
b304e751e1/cmd/storectl/query/query.go (L56)
2020-04-13 16:03:23 -04:00
Jake Goulding d28d7440de fix: Disallow elements that end with a backslash 2020-04-13 09:46:55 -04:00
Jake Goulding 8dfe58ca25 feat: Allow parsing line protocol without a provided timestamp 2020-04-13 09:46:02 -04:00
Jake Goulding c29a2b725a fix: Require at least one field in a field set 2020-04-13 09:41:05 -04:00
Jake Goulding d7416da962 fix: Do not allow a raw newline in the middle of measurement / tag_set / field_key 2020-04-13 09:41:05 -04:00
Jake Goulding 261528aeab test: Ensure that we allow newline literals as unknown escapes 2020-04-13 09:41:05 -04:00
Jake Goulding aff4906a72 fix: Allow multiple whitespace characters between line protocol elements 2020-04-13 09:41:05 -04:00
Jake Goulding 9b9ddc8508 test: ensure that blank and commented lines are ignored 2020-04-13 09:41:04 -04:00
Jake Goulding 91bbfe454e fix: Remove usage of str::lines as input can contain escaped newlines 2020-04-13 09:41:04 -04:00
Jake Goulding 5900111b01 style: Use Vec::new in closures instead of vec! 2020-04-10 15:01:05 -04:00
Jake Goulding 55ca9bc6b0 fix: DRY up repeated varint writing 2020-04-10 11:07:54 -04:00
Jake Goulding 3e268c00c5 fix: shorten summary add methods 2020-04-10 11:07:54 -04:00
Jake Goulding 48f5744f5a fix: remove manual checks when building new block summaries 2020-04-10 11:07:54 -04:00
Jake Goulding 3fc9c0047d fix: use stack-allocated array instead of a Vec 2020-04-10 10:16:29 -04:00
Jake Goulding 16be0b1922 fix: Use std instead of core 2020-04-08 17:03:05 -04:00
Jake Goulding 27520b9951 doc: correct typo 2020-04-08 16:41:04 -04:00
Jake Goulding 56d4d7e301 doc: use initial indentation in code fences 2020-04-08 16:39:17 -04:00
Jake Goulding 8a9f768f71 fix: Remove unneeded match and include basic error information 2020-04-08 16:32:00 -04:00
Jake Goulding 29279d393d perf: Avoid string allocation when series is in the correct format
This increases the performance from 58.194 MiB/s to 126.68 MiB/s
2020-04-08 14:41:42 -04:00
Jake Goulding 93231c64e0 perf: Use a SmallVec for escaped strings and sets of tags and values
This increases the performance from 56.531 MiB/s to 58.194 MiB/s.
2020-04-08 14:41:42 -04:00
Jake Goulding 6fdd8b1935 refactor: Extract a method to generate the series base name 2020-04-08 14:41:17 -04:00
Jake Goulding 0c7a4a5f81 feat: Handle escaping in the tag key, tag value, and field key 2020-04-08 14:41:17 -04:00
Jake Goulding 8156e24255 feat: Handle escaping in the measurement name 2020-04-08 14:41:17 -04:00
Jake Goulding 1615aec46a refactor: Use preceded combinator 2020-04-08 14:41:17 -04:00
Carol (Nichols || Goulding) 8635076471 fix: Use write_all to ensure entire buffer is processed
write doesn't guarantee the whole buffer gets written and returns the
number of bytes it was able to write; whereas what's desired is
everything gets written and the number of bytes is the total of what
we're asking to write.
2020-04-08 11:18:17 -04:00
Carol (Nichols || Goulding) 2879b6cad7 refactor: Remove some now-unneeded type annotations 2020-04-08 10:55:57 -04:00
Carol (Nichols || Goulding) 051836ee4d fix: Remove vec allocation where an inline slice will do 2020-04-08 10:33:54 -04:00
Carol (Nichols || Goulding) aa7ae9adaa fix: Remove unnecessary casting
And replace necessary casting/asserts with conversions that panic if
they fail
2020-04-08 10:31:06 -04:00
Carol (Nichols || Goulding) a143708321 refactor: Remove unneeded `let _ =` 2020-04-08 10:02:32 -04:00
Carol (Nichols || Goulding) 2a008dc6a7 refactor: Rewrite to not use unwrap 2020-04-08 09:48:38 -04:00
Carol (Nichols || Goulding) 1a6d5c2163 fix: Return a slice of timestamp and values; let caller clone if needed 2020-04-08 09:36:28 -04:00
Carol (Nichols || Goulding) e4b6100f53 refactor: Use stdlib's `unzip` 2020-04-08 09:33:59 -04:00
Carol (Nichols || Goulding) 367f96981b fix: Remove unneeded clone 2020-04-08 09:12:40 -04:00
Carol (Nichols || Goulding) 3d97829197 fix: Move dead code allow to be more specific 2020-04-08 09:07:15 -04:00
Carol (Nichols || Goulding) 85e558844c fix: Only use lifetimes when the type is a reference 2020-04-08 09:07:15 -04:00
Carol (Nichols || Goulding) 47661f93f1 fix: Remove module declaration for module that no longer exists 2020-04-08 09:06:44 -04:00
Carol (Nichols || Goulding) 4ee29db95c docs: Small grammar/style fixes in doc comments I noticed while reading through 2020-04-08 08:45:31 -04:00
Carol (Nichols || Goulding) 14369ae2ab style: Wrap doc comments to 100 for ease of reading 2020-04-08 08:45:31 -04:00
Edd Robinson 9e20743b2c feat: add Block Type
This commit adds a new Block type, which is used to keep track of values
associated with individual block, and then serialise them.
2020-04-08 13:37:48 +01:00
Carol (Nichols || Goulding) e60ae51c91
Merge pull request #60 from influxdata/cn-remove-dead-code
refactor: Remove code that's now unused
2020-04-06 17:00:56 -04:00
Carol (Nichols || Goulding) 3ee7ba460d
Merge pull request #63 from influxdata/cn-read-group-take-3
feature: Implement ReadGroup gRPC
2020-04-06 17:00:33 -04:00
Carol (Nichols || Goulding) 56a2b323be feature: Implement ReadGroup 2020-04-06 10:23:43 -04:00
Carol (Nichols || Goulding) 39dad5de31 fix: Always return long form of _f and _m from gRPC calls 2020-04-03 17:20:00 -04:00