Commit Graph

17 Commits (71dd3b5fa59c625a19b8a1c1ccd7fbb8feaa68f5)

Author SHA1 Message Date
Jake Goulding 7389fbe528
feat: Write data to Parquet files from the data generator 2022-09-29 16:03:33 -04:00
Ryan Russell 55f5d0ae11
docs: Improving Readability r2 (#4781)
* docs: Improve TOML readability

Signed-off-by: Ryan Russell <git@ryanrussell.org>

* docs: Fix `jemalloc` link

Signed-off-by: Ryan Russell <git@ryanrussell.org>

* docs: Readability in `point_generation.rs`

Signed-off-by: Ryan Russell <git@ryanrussell.org>
2022-06-04 16:46:57 +00:00
Paul Dix 8efd02930e feat: add total throughput to data generator output
On log level info, data generator will now output what the total throughput is in rows per second after every agent's successful write.
2021-12-11 17:12:28 -05:00
Paul Dix 8c88e1e52c refactor: change orgbucket to database in data generator 2021-12-09 13:39:33 -05:00
Paul Dix 01e86a031e feat: add regex to bucket writers assignment in data generator
This adds the ability to specify a regex to match against database names when specifying what agents should write to which buckets in the data generator.

A default has also been added for ratio so that it doesn't need to be specified if only a single database writer is defined.
2021-12-09 13:39:33 -05:00
Paul Dix 2c8d17bea8 refactor: change percent to ratio in data generator bucket writers 2021-12-08 12:09:04 -05:00
Paul Dix 31aa41e240 feat: add ability for data generator to write to many buckets
This adds the ability for the data generator to write to many databases. A new command line argument, `bucket_list`, is added which should be a file name. The file should contain a list of databsaes, one per line, with the structure of <org>_<bucket>. This is a little odd given the data generator expects org and bucket separately, but I expect the file that we'll be using will be database names, which have this format.

The configuration can specify what percentage of the list should get written to by which agents at what sampling interval. This should allow configurations where databases get different levels of ingest and different types (as specified via different agent specs). The structure is a little wonky, but I think it'll get the job done. The next step is to run some perf tests to see how the data generator performs if writing to 10k databases.
2021-12-08 12:09:04 -05:00
Paul Dix 3279725d10
refactor: Add agent name to data generator (#3297)
This is work leading up to giving the data generator the ability to write to many databases. The plan is to specify which agents databases will use to write data.
2021-12-05 11:21:04 -05:00
Paul Dix 041957be48 fix: datagenerator PR feedback, implement field count 2021-11-04 09:56:58 -04:00
Paul Dix 7044b89453 feat: Refactor Data Generator
This is a huge commit that refactors the data generator. It removes many of the previous features that didn't quite make sense. The goal of this refactor was to make the data generator capable of representing complex tagsets that have values dependent on each other. It also significantly optimizes things to use far less memory and generate data much faster. Follow on work will update the generation of line protocol to support spaces in tags and their keys, double quotes in strings, and add more examples and documentation.
2021-11-04 09:56:58 -04:00
Paul Dix 32bf4be64c chore: add benchmark for data generator tag set 2021-11-04 09:56:58 -04:00
Paul Dix db2f8a58fc feat: Add tag_set and tag_pairs to measurements in Data Generator
This adds the ability to specify a tag_set and a collection of tag_pairs to measurements in the data generator. Tag pairs are evaluated once when the generator is created. This avoids re-running handlebars evaluations while generating data for tags that don't change value.

This commit also fixes an issue when printing the generation output to stdout while generating from more than one agent. Previously it would be garbled together.

Follow on PRs will update the tag generation code in measurement specs to be more consistent and optimzised for performance. I'll be removing the restriction of using different options while using tag_set and tag_pairs. I wanted to get this in first to show the structure of what is output.
2021-11-04 09:56:58 -04:00
Paul Dix a94854d4d0 fix: build error in data generator bench 2021-09-13 17:45:53 -04:00
Paul Dix 64fca1ee34 feat: Support sampling interval strings in data generator
This changes the sampling_interval in the data generator to be a string, supporting things like ns, us, ms, s, m, h and others.
2021-08-25 17:35:01 -04:00
Paul Dix 42fbb90d8c feat: Add batching to the data generator
Adds batch_size to the data genrator to optionally gather multiple calls to generate for each agent. For example, if you have a sampling interval of 10 seconds and start at some point back in time with a batch size of 3, it gather 3 samplings before writing to the points writer. For runs against a server API, this will batch them together in a single API call.
2021-08-20 11:08:45 -04:00
Carol (Nichols || Goulding) 9fe1117d89 fix: Crate rename 2021-08-19 14:56:25 -04:00
Paul Dix d5f01a2a68 refactor: move data generator to IOx repo and fix build 2021-08-19 14:26:15 -04:00