- Added
auto_resolve_after
parameter inDetect
class.
- Added
AmazonEventBridgeNotification
for Amazon EventBridge integration within detectors. - Added combinators
EQ
(Equal) andNE
(Not Equal).
- Added
Alerts
insignal_analog.flow
module to allow linking Detectors to Charts.
StrArg
will only rejectNone
instead of all falsey values, allowing0
to be given as a value.
- Resources have learned that deleting nothing results in nothing, and will stop complaining about this scenario (it will still register it's displeasure in a debug log message)
- Added
BigPandaNotification
for BigPanda integration within detectors.
- Added
groupBy
support to the chart options. Allows grouping for example of HeatMap charts into groups on multiple levels. - Added support for
colorScale2
option on HeatMap charts. This allows to set custom chart colors for a defined range of values.
signal_analog
has learned to use thegroupId
field when updating Dashboard resources after the recent Sfx API changes
- As many documentation links as possible since the last doc update from Sfx.
Notable missing updates are those for 3rd party integration Notifications in
the
signal_analog.detectors
module.
- Removed dashboard numbering for two reasons:
- There was a bug in the logic that caused dashboards to be deleted and recreated on update.
- The functionality is no longer needed as SignalFx automatically maintains the order that dashboards were provided and allows easy reordering in the UI.
- AxisOptions are now optional where used
- Fixing applyIfExists option for Dashboard variables.
- AxisOption parameters should be optional.
- Additional documentation.
- Added
Plot
class, a helper class that gives an interface more like that found in the SignalFx UI. - Added
RollupType
enum for specifying the roll-up used in Charts. - Added additional documentation links to README.
- Fix: TextCharts weren't working
- Fix: YAML load deprecation warning in logging config
- Add numbering to dashboards in a dashboard group for better organization of dashboards
- The
percentile
function onsignal_analog.flow.Data
objects has been fixed to use the correct constructor
- signal-analog now prefers
simplejson
if it is available on the path, falling back to thejson
module otherwise.
- DashboardGroup has learned how to accept SignalFX Team ids so that they can
be associated with pre-existing teams via the
with_teams
builder method.
- Add
deprecation
to setup.py.
-
Added
with_secondary_visualization
function to enable display of various meters (Sparkline, Linear, Radial) in Single Value charts. This replaces the now defunctwith_sparkline_hidden
function. This will not be a 'breaking change' until version 3.0.0 whenwith_sparkline_hidden
will be removed fromsignal_analog
. -
Added the
deprecation
Python library to this project to note whenwith_sparkline_hidden
should be removed. Upon version matching 3.0.0 or higher the tests for that function will begin to fail notifying whoever is releasing that version to remove the defunctwith_sparkline_hidden
function and tests.
- Dashboard Create method to accept group id of an existing dashboard group in which case the new dashboard will be part of the dashboard group provided
Example:
response = dashboard\
.with_charts(memory_chart)\
.with_api_token('my-api-token')\
.create(group_id="asdf;lkj")
- Dashboard Group create method to pass group id of the newly created dashboard group to the dashboard create method so that we can avoid a few redundant calls like cloning and deleting the dashboards
- ListCharts learned how to filter legend options via the
with_legend_options
builder - Future chart types that can filter legend options may now take advantage
of the
signal_analog.charts.LegendOptionsMixin
class - The
FieldOption
class has learned to acceptSignalFxFieldOption
s which provide mappings between field options seen in the UI and those used in the API- e.g.
Plot Name
in the UI andsf_originatingMetric
in the API
- e.g.
- A new
TextChart
object has been added tosignal_analog.charts
that enables text descriptions to be added to dashboards. PublishLabelOptions
has learned to accept prefix, suffix, and unit arguments when labelling data on charts.
PublishLabelOptions
has learned to accept all arguments as optional with the exception of thelabel
argument.
- A fix has been added for Python 2 users that prevented successful dashboard updates.
For assistance migrating from 1.x to 2.x please consult the migration guide.
- Add support for the
dimensions
,fill
,integrate
,kpss
,rateofchange
methods
map
method support has been removed- It didn't work properly to begin with, and will require some finagling to get right given our approach to building SignalFlow statements
top
andbottom
method signatures have been fixed to usecount
,by
, andpercentage
arguments- The following functions have been updated to raise an error if both
by
andover
are defined in the same method call:count
,max
,mean
,mean_plus_stddev
,median
,min
,percentile
,random
,size
,stddev
,sum
,variance
delta
has been updated to no longer accept any method argumentsewma
has been updated to support theover
key
- Add combinators for less-than-or-equal-to (
LTE
) and greater-than-or-equal-to (GTE
)
- Fix detector update logic to include all fields instead of just name/description
- Added
include_zero
method toTimeSeriesChart
to allow setting theincludeZero
option.
- Implements functionality to add event overlays and selected (default) event overlays to dashboards at dashboard creation or update. Includes wildcard matching using the asterisk (*) symbol.
- Implementing the rest of the Dashboard Filters:
source
andtime
- Added an Assign function that will enable more complex detectors which are constructed by combining multiple data streams
- Added a Ref flow operator that will enable referencing assignments in a way that can be validated at later steps by checking for an Assign object with a match between the reference string and the assignee
- Introducing Dashboard Filters(only variables as of now) which can be configured to provide various filters that affect the behavior of all configured charts (overriding any conflicting filters at the chart level). You may wish to do this in order to quickly change the environment that you're observing for a given set of charts.
- Symbolic release for
signal_analog
. Future version bumps should conform to thesemver
policy outlined here.
- The timeshift method's arguments changed. Now accepts a single argument for offset.
- Fix string parsing to not exclude boolean False, which is required for certain functions like .publish()
- Added Op class in flow.py to allow multiplying and dividing datastreams to create SignalFlow Functions
- Added Mul and Div combinators for multiplying and dividing streams
- Added "enable" option for publishing a stream. Setting enable=False will hide that particular stream in a chart/detector.
- Dashboard Group support has been added giving you the ability group sets of dashboards together in a convenient construct
- Detector support has been added giving you the ability to create detectors from scratch or re-use the SignalFlow program of an existing Chart
- Dashboards and Charts now update via their
id
instead of by name to mitigate name conflicts when creating multiple resources with the same name - Dry-run results are now more consistent between all resources and expose the API call (sans-headers) that would have been made to use for the given resource
- Dashboards have learned how to update their child resources (e.g. if you add a chart in your config, the change will be reflected when you next run your configuration against SignalFx)
- The CLI builder has learned how to pass dry-run options to its configured resources
- Minor bugfixes for the
signal_analog.flow
module
- Added click to setup.py
- Added CLI builder to create and update dashboard resources
- Dashboard resources have learned to interactively prompt the user if the user wants to create a new dashboard if there is a pre-existing match (this behavior is disabled by default).
- Added "Update Dashboard" functionality where a user can update the properties of a dashboard(only name and description for now)
- Added Heatmap Chart style
- Added by Jeremy Hicks
- Added the ability to sort a list chart by value ascending/descending
- Added by Jeremy Hicks
- Added "Scale" to ColorBy class for coloring thresholds in SingleValueChart
- Added by Jeremy Hicks
- Added List Chart style
- Added by Jeremy Hicks
- Dashboard resources have learned how to force create themselves in the SignalFx API regardless of a pre-existing match (this behavior is disabled by default).
- Dashboard resources have learned how to check for themselves in the SignalFx API, and will no longer create themselves if an exact match is found
- Adds support for base Resource object. Will be used for Chart/Dashboard abstractions in future versions.
- Adds support for base Chart and TimeSeriesChart objects. Note that some TimeSeriesChart builder options have not yet been implemented (and marked clearly with NotImplementedErrors)
- Adds support for function combinators like
and
,or
, andnot
- Add README documentation
- Initial release