Release v0.037
In this release:
Fixed
- Fixed test that depended on YAML.pm (which we removed as a dependency). Now the test uses YAML::Tiny instead. Thanks @ltriant! [Github #155]
In this release:
In this release:
parse_time
function to yq
. This function parses a date/time
string into a UNIX epoch.yts
time series
timestamps.yts
. This makes all time series
databases the same and makes it easier to add metrics.ygrok
to parse the /proc/loadavg
and /proc/uptime
files on Linux
systems.ymask
command and associated prereqs. This command just
wasn't very useful, and depended on a module that requires a compiler.In this release:
More information about ETL-Yertl v0.035 on MetaCPAN
Added Graphite time series adapter. Now yts
can read/write time
series from the Graphite system and related subsystems. The write
function is compatible with the "line" protocol, so any databases that
understand Graphite's line protocol can be written to.
Added --start and --end options to yts
command to constrain the time
series returned to a specific date/time range.
Removed 'Z' time zone indicator from yts
input/output and time series
adapters. Time zone does not enter in to any of the things we're doing
with time series. If users need to do things with time zones, they'll
have to do it themselves (poor souls).
Fixed a race condition that could cause yts
to read the data and not
write the data passed-in on STDIN
. This requires a new dependency,
IO::Interactive.
Removed dependencies on some modules to reduce the memory footprint and improve startup times:
Removed some unused modules that are not going to be developed anymore.
yq
language parser. Perl 5.10
regex grammars work just fine.Fixed YAML.pm (YAML::Old) causing tests to fail. This has been removed (for now) as a supported YAML module. The default supported YAML module is now YAML::Tiny.
Fixed the yts
time series format. Now there is only the "metric" to
identify the time series, which for some time series databases may
contain abstractions like "database" and "column".
Fixed nulls appearing in Graphite time series.
In this release, we've added a command to read/write time series data:
yts
. It only works with InfluxDB for now, but
writing new interfaces to time series databases is easy!
Along with the new ysql
--count
option, it's easy to create metrics
from data in your database:
# Count the number of test reports
ysql cpantesters --count test_reports \
| yts influxdb://localhost/telegraf cpantesters report_count
# Count the number of processed reports
ysql cpantesters --count cpanstats \
| yts influxdb://localhost/telegraf cpantesters processed_count
# Build metrics for Minion job worker
ysql cpantesters --count minion_jobs \
| yts influxdb://localhost/telegraf minion total_jobs
ysql cpantesters --count minion_jobs --where 'status="inactive"' \
| yts influxdb://localhost/telegraf minion inactive_jobs
ysql cpantesters --count minion_jobs --where 'status="finished"' \
| yts influxdb://localhost/telegraf minion finished_jobs
In this release:
$.
to refer to the initial document
even if the current document (.
) is something else. This way one can
traverse the document using |
filters and still get to the original.each()
function to iterate over
hashes/arraysysql
--insert
helper. SQL::Abstract does not allow this and instead gives an
untrappable warning (instead of throwing an exception, which is
potentially earmarked for SQL::Abstract v2)