56quarters / staccato Goto Github PK
View Code? Open in Web Editor NEWStatistics from the command line
License: GNU General Public License v3.0
Statistics from the command line
License: GNU General Public License v3.0
The validation of CLI arguments allows a -p 100
argument but then throws it away when computing stats (since it's outside of 0...99). This should be an error
There's a bunch of TODO
s in the README file. Let's get rid of them or fill them out with some actual useful docs.
Values read in only need to be sorted when we're going to partition them by percentile (when we have a -p 75,90
flag present). We can speed up execution when we aren't going to do that by not sorting them.
It's stable now so let's go ahead and replace use of try!(something())
with something()?
Seems fairly common for users to run a command they aren't familiar with for the first time with no arguments, expecting it to print help information. E.g.
st
In this case however, Staccato will just hang forever waiting for input from stdin. We should display something to stderr in this case letting people know what's going on and that they might try running st -h
instead.
Example
st
notice: waiting for input on stdin. If this isn't what you want, try `st --help`
Comma separated values don't work at all. I think this used to work but it's obviously broken now. No tests either. Fix this and add some tests to the cli module.
$ st -p 90,95 benches/values-small.log
count: 100
sum: 29.15473
mean: 0.29155
upper: 3.59286
lower: 0.00288
median: 0.03565
stddev: 0.58246
staccato currently prints the median (a.k.a. 2nd quartile a.k.a. 50th percentile). For latency statistics, the "shape" of the "long tail" is often very relevant, so I propose to print the 90th, 95th and 99th percentile as well.
Cargo doesn't run tests for binaries by default when you run it via cargo test
. Instead, we'll have to add another test script / command / thing to our Travis CI config: cargo test --bin st
.
Make sure all help or text emitted by Staccato uses $arg0 instead of just hardcoding st
. This makes sure help output is consistent when the binary gets installed under a different name.
Use the newly created base to build instead of adding musl build chain manually.
Leading or trailing whitespace causes number to not be parsed. This definitely limits usefulness.
Stuff like this: https://github.com/tshlabs/staccato/blob/master/src/staccato/lib.rs#L104
... makes no sense. Why not just use optionals?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.