- Added
auto_resolve_afterparameter inDetectclass.
- Added
AmazonEventBridgeNotificationfor Amazon EventBridge integration within detectors. - Added combinators
EQ(Equal) andNE(Not Equal).
- Added
Alertsinsignal_analog.flowmodule to allow linking Detectors to Charts.
StrArgwill only rejectNoneinstead of all falsey values, allowing0to 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
BigPandaNotificationfor BigPanda integration within detectors.
- Added
groupBysupport to the chart options. Allows grouping for example of HeatMap charts into groups on multiple levels. - Added support for
colorScale2option on HeatMap charts. This allows to set custom chart colors for a defined range of values.
signal_analoghas learned to use thegroupIdfield 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.detectorsmodule.
- 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
Plotclass, a helper class that gives an interface more like that found in the SignalFx UI. - Added
RollupTypeenum 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
percentilefunction onsignal_analog.flow.Dataobjects has been fixed to use the correct constructor
- signal-analog now prefers
simplejsonif it is available on the path, falling back to thejsonmodule otherwise.
- DashboardGroup has learned how to accept SignalFX Team ids so that they can
be associated with pre-existing teams via the
with_teamsbuilder method.
- Add
deprecationto setup.py.
-
Added
with_secondary_visualizationfunction to enable display of various meters (Sparkline, Linear, Radial) in Single Value charts. This replaces the now defunctwith_sparkline_hiddenfunction. This will not be a 'breaking change' until version 3.0.0 whenwith_sparkline_hiddenwill be removed fromsignal_analog. -
Added the
deprecationPython library to this project to note whenwith_sparkline_hiddenshould 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_hiddenfunction 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_optionsbuilder - Future chart types that can filter legend options may now take advantage
of the
signal_analog.charts.LegendOptionsMixinclass - The
FieldOptionclass has learned to acceptSignalFxFieldOptions which provide mappings between field options seen in the UI and those used in the API- e.g.
Plot Namein the UI andsf_originatingMetricin the API
- e.g.
- A new
TextChartobject has been added tosignal_analog.chartsthat enables text descriptions to be added to dashboards. PublishLabelOptionshas learned to accept prefix, suffix, and unit arguments when labelling data on charts.
PublishLabelOptionshas learned to accept all arguments as optional with the exception of thelabelargument.
- 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,rateofchangemethods
mapmethod 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
topandbottommethod signatures have been fixed to usecount,by, andpercentagearguments- The following functions have been updated to raise an error if both
byandoverare defined in the same method call:count,max,mean,mean_plus_stddev,median,min,percentile,random,size,stddev,sum,variance
deltahas been updated to no longer accept any method argumentsewmahas been updated to support theoverkey
- 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_zeromethod toTimeSeriesChartto allow setting theincludeZerooption.
- 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:
sourceandtime
- 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 thesemverpolicy 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
idinstead 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.flowmodule
- 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