Skip to content
develop
Go to file
Code

Latest commit

* use explicit group id

* use explicit group id

* remove unused tags from pom

* remove unused tags from pom

* re-add unit tests

* add resources dependencies in sub modules

* fix argus sdk build props

* Make internal histograms topic name configurable (#315)

* add not-equals expression-querying to go through ES SchemaService (#274)

* re-add unit tests

* add resources dependencies in sub modules

* fix argus sdk build props

* Make internal histograms topic name configurable (#315)

* add not-equals expression-querying to go through ES SchemaService (#274)

* Rename some user facing transform error messages (#320)

- Rename some user facing transform error messages

* fix argus-ws dependency inclusion

* Rename some user facing transform error messages (#320)

- Rename some user facing transform error messages

* fix argus-ws dependency inclusion

* update argus version to 4.74

* update argus version to 4.74

* W-5817185 dva argus false alert due to replacing the end time wrong (#289)

* add AKC repo and remove makefile/specs (#330)

* add AKC repo, remove SPEC files

* remove binary file

* add with jar dependencies plugin

* W-5817185 dva argus false alert due to replacing the end time wrong (#289)

* add AKC repo and remove makefile/specs (#330)

* add AKC repo, remove SPEC files

* remove binary file

* add with jar dependencies plugin

* W-5936651 Disabling the query limit enforcement if a downsampler is present in the query.  Adding user name attribute to track which user made the long running query (#331)

* W-5936651 Disabling the query limit enforcement if a downsampler is present in the query.  Adding user name attribute to track which user made the long running query (#331)

* bump to 4.75 version to get everyone in sync

* bump to 4.75 version to get everyone in sync

* remove building argus ui, since ui team does not use this process

* update + compress README, remove unused version prop, add explicit prebuild-install dep (#329)

* W-5877292 Add funnel alerts to lag blocking whitelist (#321)

Adding test cases for whitelisted user and scopes

Mocking datalag state

disabling data lag after usage

* Remove cache-related eclipselink and jpa hints, disable cache

@rev @nkarri

Roles affected: WS and Alert

* Remove cache-related eclipselink and jpa hints, disable cache

@rev @nkarri

Roles affected: WS and Alert

* remove building argus ui, since ui team does not use this process

* update + compress README, remove unused version prop, add explicit prebuild-install dep (#329)

* W-5877292 Add funnel alerts to lag blocking whitelist (#321)

Adding test cases for whitelisted user and scopes

Mocking datalag state

disabling data lag after usage

* Remove unintended user message change (#343)

* W-5821201: GUS/GOC INVALID_AUTH_HEADER error (#340)

Extracting GOCTransport (renamed to GusTransport) and EndpointInfo classes from the GOCNotifier class, so it can be used by the GusNotifier class.
Migrating GusNotifier class to use GusTransport for auth and getting token. Removing duplicate code.
Updating GusTransport class to use a LoadingCache to hold the current EndpointInfo and manage refreshes. Also refactored the logic to get token into a Supplier. Making it so that HttpClient is re-used instead of being one-time-use.
Re-using GusTransport instance in GusNotifier and GOCNotifier instead of being one-time use. Also adding in retries for GusNotifier and GOCNotifier if notification fails to post. If failure is due to bad token, the notifier will attempt to refresh the token cache.
Adding metrics to track number of retries and number of failures for GOCNotifier and GusNotifier.

@rev @nkarri @ikeck @nikhil-wahi @sudhansu-bahety
@W-5821201

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000005jY7IIAU/view

* Adding case for clone alert with trigger not attached to notification (#345)

* Unit test fixes (#342)

* make esschema class unit testable

* make AbstractSchemaServiceTest fast

* make discoveryutilstest fast

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unneeded AbstractTestClass inheritance

* remove unnecessary Abstracttest extension

* remove unnecessary Abstracttest extension

* remove unnecessary Abstracttest extension

* remove unnecessary Abstracttest extension

* remove unnecessary Abstracttest extension

* remove unnecessary Abstracttest extension

* remove unnecessary Abstracttest extension

* unique names for alerts

* remove unneeded imports

* proper renaming of abstract test

* pick unique names for owners and dashboards

* shutdown derby on each instance of test

* Revert "Remove cache-related eclipselink and jpa hints, disable cache"

This reverts commit ab5e344.

* use static vars for dashboard test

* remove Argus logging to stdout (#344)

* Disable UTs failing in Strata

@rev @knawale

Story to investigate and reenable: W-6003515
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006S6yJIAS/view

* W-5993592 change histogram consumer to use List instead of Map (#353)

* Revert "Remove cache-related eclipselink and jpa hints, disable cache"

This reverts commit 45b8dff.

* unit test fixes (#358)

* revert dashboard test to using AbstractTestIT

* use unique alert names

* use unique alert names

* use unique alert names

* use random name for alertname

* unique user name and email id

* explicit call for creating db connection and shutting it down

* Revert "explicit call for creating db connection and shutting it down"

This reverts commit 9bb2cfc79e0d7767520f3b875909ddb8c2a94029.

* remove kafka, zk dependencies

* remove unused code

* add getconfig method

* use static logger

* move em to base jpa class

* disable enqueue test

* add derby start and shutdown

* add derby drop tables

* add derby drop tables

* add derby drop tables

* temp different table name

* temp different table name

* revert temp different table name

* revert system gc cleanup

* disable alertservice tests

* Update DashboardServiceTest.java

* [W-5911360] fix NPE exception for Notification objects, + additional cleanup (alert) (#356)

* Cleaning up print statements

* [W-5911360] fix NPE exception for Notification objects
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006UcZVIA0/view
@rev sudhanshu-bahety@ nkarri@ knawale@

*  Fix bug in downsample transform to handle cases when data is missing from beginning of the interval (#354)

* re-enable alerts tests (#359)

* readd ignored UTs

* fix uninitialized var

* Revert "Remove cache-related eclipselink and jpa hints, disable cache"

This reverts commit 45b8dff.

* Auto render histogram query as stack bar chart in viewmetrics page (#277)

* Render histogram query in stack bar chart in view metrics page

* Increase default chart height for view metric page

* Change the condition for rendering histogram

* lessen some logging that shows up in alerter client (#349)

* POM variable for kafka version (#348)

* Variable name change in MonitorService (#364)

* fix logback config override by removing maven assembly phase for AKC build (#365)

* Config Surefire, Kafka versions for VM exit issue (#368)

* Match kafka server version; configure surefire memory

* ignore AlertServiceTest

* Argus queries Instrumentation changes (#288)

* Argus Queries Instrumentation changes

* re-add dashboard and alerts test (#370)

* Revert "re-add dashboard and alerts test (#370)" (#371)

This reverts commit 06d68ea.

* W-6009250: fixing RequestContext username to be the owner name instead of the owner object. (#373)

@rev @nkarri @stiyyagura @nikhil-wahi

@W-6009250

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006SBFIIA4/view

*  Fixing bug to add already existing records in ES to bloom (#376)

* Fixing bug to add already existing records in ES to bloom

* Add content type header in each ES request (#378)

* Add content type header in each ES request

* Update ES Rest Client to 6.6.2 (#382)

* W-6031343: Add an exception-tolerance system to ArgusCore DefaultConsumer [Committers, Alerter] (#383)

* Add an exception-tolerance system to ArgusCore DefaultConsumer. Update dynamic-keystore

* fix hardcoded post-DefaultConsumer log

* W-6026863: Upgrading ConnectionManager to PoolingHttpClientConectionM… (#377)

* W-6026863: Upgrading ConnectionManager to PoolingHttpClientConectionManager in GusTransport used for GOC and Gus Notifiers; set connection pool max size to 55 (50 alert client threads + 10% buffer).

@rev @nkarri @nikhil-wahi

@W-6026863

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006SP2IIAW/view

* W-6026863: Updating GOCNotifier error handling

@rev @nkarri @nikhil-wahi

@W-6026863

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006SP2IIAW/view

* W-5703114 - Onboard to Bulk Refocus API for Notifications (Alert Client) (#316)

* * W-5902366 Release Argus 3.8 - updating for next release.
* @rev @nikhil-wahi @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006Qf02IAC/view

Updating for next release.

* W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Preparatory work constructing an internal Refocus Forwarder.

* W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Allow creation of multiple thread pools on Argus startup.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Rename some variables.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Work on the bulk refocus forwarder and the unit test.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Rewrite RefocusForwarder with org.apache.http classes.
Enable private SSL Cert in Refocus Forwarder.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Create new RefocusBooleanNotifier to replace existing RefocusNotifier.
For migration purposes, retain RefocusNotifier as a subclass of RefocusBooleanNotifier.
Create RefocusValueNotifier for notifying value of the alerting expression.
Minor cleanups to the Refocus Service.
All RefocusNotifiers talk to the RefocusService.
Notes added to AlertResources.java
Remove extra method from RefocusService interface.
Add all types of Refocus notifiers to the Notifier Factory.

The main changes are integration of the RefocusNotifiers into DefaultAlertService.
  Handle RefocusValueNotifier as special case of alerts not attached to triggers.
  Deliver latest alerting expression (metric) values to the Refocus notifier.

Open Issues:
1) No handling of RefocusValueNotifiers when attached to Triggers.  Question: Should this be allowed?

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Ignore RefocusValueNotifiers attached to Triggers (for now.)

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Many cleanups.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Add support for injecting responses.
Improve unit tests.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Improve shutdown by ensuring that InterruptedExceptions get propagated.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Add unit tests to cover all http error codes and to simulate intermittent errors.
Improve factoring of the RefocusForwarder unit tests.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Complete mocking of RefocusForwarder unit test so that it can be run all the time.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Misc code cleanups.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Fixes to DefaultAlertService to ensure that untriggered notifications are delivered to the Notifier.
Fixes to RefocusForwarder to work with the http proxy on prd.
Many changes to logging.
Much temporary logging added to enable debugging in Dev1.  This will be cleaned up later.
Improvements to the RefocusService unit test.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Fix tests and logging.

* [W-6012374] fix for quota persistence module not working after AKC migration (#380)

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006VD45IAG/view
@rev knawale@ nkarri@

* W-6043198: AKC Exit on bad CLI arg passed (#389)

* Exit on bad CLI arg passed

* fast fail on bad ArgusClient type argument

* [W-5833798] fix for alert update latency kpi + additional cleanup/refactoring (alert/ws) (#385)

* refactoring alert cloning to Alert entity class + bug fixes and unit tests

* cleaning up whitespace, dead imports, logging, etc

* [W-5833798] fix for alert update latency kpi + additional cleanup
@rev sudhanshu-bahtey@ nkarri@
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000005jk6WIAQ/view

* [W-5780598] add HTTPS support for Callback notifier (#388)

@rev nkarri@ pliew@
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006FlfNIAS/view

* Removing some files that are no longer used, and that don't have coverage (#391)

* exclude argusweb, webservices and argusclient from sonarqube analysis (#392)

* 1)Removing some files that are no longer used 2)Logical AND Bug fix 3)Unused import (#393)

* Redirect user to login page when refresh token request receives 400 (#363)

* Fix refresh token 400 error issue

* Add error message handling from alert UI, enhance storage to avoid page crash

* Minor code refactoring

* Redirect to login page if refresh request receives error

* upgrade Mockito and powermock (#394)

* W-5993592 change histogram consumer to use List instead of Map

* upgrade mockito and powermock

* Removing unused DerivativeTransform, since we use DerivativeValueMapping (#395)

Removing unused DerivativeTransform, since we use DerivativeValueMapping

* Removing unused transform (#397)

* rediscache service unit tests (#398)

* restructure rediscache service to be testable

* add rediscache UTs

* use arg matchers

* Code Coverage: Remove some 1min sleeps. Add coverage to ES service (#399)

* Remove some minute-long sleeps in tests. Add coverage to ESSchemaService

* remove unused imports

* SchedulingServiceTest failure: Verify count additionally based on previously enabled alerts (#400)

* verify schedule count additionally based on previously enabled alerts

* add todo

* W-5999027: argus.alerts:alerts.evaluated metric fix

@rev @nkarri

@W-5999027

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006S2mfIAC/view

* W-6016753 add histogram support in schema consumer (#387)

* W-5993592 change histogram consumer to use List instead of Map

* W-6016753 schema consumer to handle histogram to be sent to schema service

* W-6016753 fix review comments

* Update DefaultAlertService.java

* Fix for 500 response code when metrics does not exist in TSDB (#408)

* Sending different response code when metric doesnot exist in tsdb

* Chart type config on the fly (#411)

* Add chart type config

* Add chart type config on metric discovery page

* Avoid sticky annotation option

* Update icon for chart type config

* Lag and monitor metric for ES failures response (#409)

Lag and monitor metric for ES get failures response

* W-6067234: Moving alerts.skipped metric publishing to finally block so it always gets counted.

@rev @nkarri @ikeck

@W-6067234

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006Jg4lIAC/view

* W-6062644 [Refocus Notifier V2] Handle exceptions thrown by httpclient.execute()  (AlertingClient) (#410)

* * W-5902366 Release Argus 3.8 - updating for next release.
* @rev @nikhil-wahi @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006Qf02IAC/view

Updating for next release.

* W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Preparatory work constructing an internal Refocus Forwarder.

* W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Allow creation of multiple thread pools on Argus startup.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Rename some variables.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Work on the bulk refocus forwarder and the unit test.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Rewrite RefocusForwarder with org.apache.http classes.
Enable private SSL Cert in Refocus Forwarder.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Create new RefocusBooleanNotifier to replace existing RefocusNotifier.
For migration purposes, retain RefocusNotifier as a subclass of RefocusBooleanNotifier.
Create RefocusValueNotifier for notifying value of the alerting expression.
Minor cleanups to the Refocus Service.
All RefocusNotifiers talk to the RefocusService.
Notes added to AlertResources.java
Remove extra method from RefocusService interface.
Add all types of Refocus notifiers to the Notifier Factory.

The main changes are integration of the RefocusNotifiers into DefaultAlertService.
  Handle RefocusValueNotifier as special case of alerts not attached to triggers.
  Deliver latest alerting expression (metric) values to the Refocus notifier.

Open Issues:
1) No handling of RefocusValueNotifiers when attached to Triggers.  Question: Should this be allowed?

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Ignore RefocusValueNotifiers attached to Triggers (for now.)

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Many cleanups.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Add support for injecting responses.
Improve unit tests.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Improve shutdown by ensuring that InterruptedExceptions get propagated.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Add unit tests to cover all http error codes and to simulate intermittent errors.
Improve factoring of the RefocusForwarder unit tests.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Complete mocking of RefocusForwarder unit test so that it can be run all the time.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Misc code cleanups.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Fixes to DefaultAlertService to ensure that untriggered notifications are delivered to the Notifier.
Fixes to RefocusForwarder to work with the http proxy on prd.
Many changes to logging.
Much temporary logging added to enable debugging in Dev1.  This will be cleaned up later.
Improvements to the RefocusService unit test.

* * W-5703114 Onboard to Bulk Refocus API for Notifications
* @rev @nikhil.wahi @sudhanshu.bahety @Abdullah-Ansari @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000004j8sYIAQ/view

Fix tests and logging.

* Handle IOExceptions in the RefocusForwarder.  InterruptedIOException results in retries.  All others fail the request.
Updated unit tests to address OOM errors.
Added unit tests that generate IOExceptions and verify behavior.

* @ignore tests even though OOM errors are gone.  Should be an Integration Test.

*  W-6011940 Sending notiifcation calls create annotation which fails on disposed service (#405)

* * W-5902366 Release Argus 3.8 - updating for next release.
* @rev @nikhil-wahi @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006Qf02IAC/view

Updating for next release.

* Remove call to dispose _annotationService from the DefaultNotifier.
This should address the GOC/GUS notification exceptions when there are metrics to annotate.

* make bloom flush/clearing weekly (#415)

* W-5597767: Adding notification attempts count as a tag to notifications.sent metric. (#413)

@rev @nkarri @ikeck

@W-5597767

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000005XSjGIAW/view

* [W-5999022] updating tracking metrics for alerts (alertclient) (#417)

* whitespace cleanup

* [W-5999022] updating tracking metric for single notification sent
Add tag status=succeeded|failed
Removing metricId, notificationId
@rev nkarri@ sudhanshu-bahety@
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006S2mLIAS/view

* Removing alertId, notificationId for notification cleared metric

* [W-5999022] updating tracking metric for Alert Scheduling  …
Switch from alerts.scheduled:alert-$alertId to argus.alerts:scheduled{alertId=$alertId}
@rev nkarri@ sudhanshu-bahety@
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006S2mLIAS/view

* Adding user and alertId tags to alert tracking metrics wherever missing

* W-6067234: minor fix to skipped metric

@rev @nkarri

@W-6067234

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006Jg4lIAC/view

* Don't cache histogram query results (#420)

Don't cache histogram query results

* support wildcarded tags with histogram queries (#423)

* Parse ES json response, and log only if failures node present (#424)

- Parse ES json response,  and log only if failures node present

* Minor fix

* use Index api for metadata/scopes/metatags instead of create/update (#419)

* W-5993592 change histogram consumer to use List instead of Map

* W-6087803 use index api instead of create/update

* W-6087803 only index schema record if not found in BF

* W-6087803 minor update to log message

* W-6087803 switch scopes and metatags to use index api

* W-6087803 some minor cleanups

* W-6105253: Add more fine grained timing metrics for Argus Alert Evaluation (#425)

@rev @nkarri

@W-6105253

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006KimQIAS/view

* more readable bloom flush log (#416)

* Revert RedisCacheService instrumentation metrics (#427)

* [W-6083746] improve logging for email notifier (#430)

@rev sudhanshu-bahety@ nkarri@
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006K2glIAC/view

* Querystore modifications (#431)

* modified querystore to add new fields, change mapping and also change request type

* fix incorrect ES schema service metric count (#437)

* W-5993592 change histogram consumer to use List instead of Map

* W-6120884 fix incorrect ES schema service metric count

* Cull_below bug fix (#434)

* Fixing Cull Below Bug. From now on we wont return metrics which have zero datapoints

* merge develop into master for release  (#439)

* [W-6083746] improve logging for email notifier (#430)

@rev sudhanshu-bahety@ nkarri@
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006K2glIAC/view

* Querystore modifications (#431)

* modified querystore to add new fields, change mapping and also change request type

* fix incorrect ES schema service metric count (#437)

* W-5993592 change histogram consumer to use List instead of Map

* W-6120884 fix incorrect ES schema service metric count

* Cull_below bug fix (#434)

* Fixing Cull Below Bug. From now on we wont return metrics which have zero datapoints

* W-5913125 The alerts API "/meta/privileged/count" returns a number that is larger than the total of what /meta/privileged can return (#433)

* Revert "Cull_below bug fix" (#440)

* Revert "Cull_below bug fix (#434)"

* Fixes to estimating the number of allowed timeseries and adding a flag to enforce the datapoint limit (#443)

* lengthen ES retention from 45 days to 52 days (#428)

* W-6125007 Make Metric Comparable. More deterministic query results; fix snapshot test (#442)

* Add .equals() to metrics. make intermediate query results more deterministic

* fix resulting equals() UT fallout

* remove Metric .equals(). rely on separate getDatapoints() checks

* better failure message

* [W-5999040] updating internal alerting metrics for consistency + refactoring (alertclients) (#445)

* [W-5999040] add alertId to alert skipped metrics, make other alert metrics consistent
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006S2nOIAS/view
@rev sudhanshu-bahety@

* [W-5999040] Update audit metrics for refocus notifiers to publish metric with "action=cleared"
@rev ikeck@ nkarri@
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006S2nOIAS/view

* [W-5999040] minor refactor to remove alertId from alert latency metrics
@rev nkarri@
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006S2nOIAS/view

*  Log annotation query and number of annotations returned (#447)

Log annotation query and number of annotations returned

* W-5590096: Adding PagerDutyNotifier (#422)

* W-5590096: Adding PagerDutyNotifier

@rev @nkarri @ikeck

@W-5590096

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000005xKb3IAE/view

* Bug fixes and updates based on code review feedback from @ikeck

* Cull below change (#448)

* Updated the required files for release 3.2.0

* Cull below code changes

* Initial review for  write and read of annotations using Elastic Search (#444)

- Write and read annotations using Elastic Search

* re-generate snapshots excluding non-deterministic query (#450)

*  W-5335462 Alias transform changes (#451)

* W-5335462 Alias transform changes

* MetricServiceSnapshot changes

* [W-5592531] Cleaning up logs (#454)

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000005xMsqIAE/view
@rev pliew@

* W-6125120 Refocus notifier overwrites the alerts evaluated so far (jobCounter) (#455)

* * W-5902366 Release Argus 3.8 - updating for next release.
* @rev @nikhil-wahi @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006Qf02IAC/view

Updating for next release.

* Remove use of jobcounter by the Refocuser.

* Remove client usage of TreeMap, with TSDBQuery,TSDBEntity now using TreeMap (#457)

Remove client usage of TreeMap,  with TSDBQuery,TSDBEntity now using TreeMap

* Updating org.apache.httpcomponents httpclient version in AKC pom.xml

* ImageService Boiler Plate Implementation (#453)

Image Service Initial Changes

* [W-5944249] Configuring the ArgusTransport HTTP Client to Authorize via Proxy (#464)

@rev nkarri@ pliew@
https://gus.lightning.force.com/lightning/r/ADM_Sprint__c/a0lB0000001PL8QIAW/view

* more helpful notifier property loading failure log (#456)

* Revert "[W-5999040] updating internal alerting metrics for consistency + refactoring (alertclients) (#445)" (#466)

This reverts commit 76bc5de.

* W-6174525: Include jmx_exporter via POM (#467)

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006tymLIAQ/view

* W-6178055: Adding internal metric tracking number of registered mbeans (internal metrics). (#468)

* W-6174525: Include jmx_exporter via POM

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006tymLIAQ/view

* W-6178055: Adding internal metric tracking number of registered mbeans (internal metrics).

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006uQh4IAE/view

* W-6164717: Make BF flushing period once per day, separate from clearing period (#469)

* make BF flushing period once per day, separate from clearing period

* address typo

* Add dual annotation service that queries tsdb, es based on epoch cutoff (#470)

Add dual annotation service that queries tsdb, es based on epoch cutoff

*  Throw exception when annotation size equals 10000. Add more tests (#473)

Throw exception when annotation size equals 10000. Add more tests

* fix bad LEQ and add assert messages (#476)

* W-5800384: Detecting DC from nested convoluted expression for lag detection (#462)

* Detecting dc from datalag

* Changes as per CR

* Adding test cases and minor fix in metric query result

* Adding cases when queries are not found in discovery service

* Computing offset per topic and pushing it to instrumentation service (#465)

* W-5590096: Enabling PagerDutyNotifier in AlertService (#479)

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000005xKb3IAE/view

* [W-5999040] updating internal alerting metrics for consistency + refactoring (alertclients) (#474)

* [W-5999040] add alertId to alert skipped metrics, make other alert metrics consistent
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006S2nOIAS/view
@rev sudhanshu-bahety@

* [W-5999040] Update audit metrics for refocus notifiers to publish metric with "action=notified"
@rev sudhanshu-bahety@
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006S2nOIAS/view

* [W-6246246] Merge develop into master for 4.75.17 release (#483)

* fix bad LEQ and add assert messages (#476)

* W-5800384: Detecting DC from nested convoluted expression for lag detection (#462)

* Detecting dc from datalag

* Changes as per CR

* Adding test cases and minor fix in metric query result

* Adding cases when queries are not found in discovery service

* Computing offset per topic and pushing it to instrumentation service (#465)

* W-5590096: Enabling PagerDutyNotifier in AlertService (#479)

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000005xKb3IAE/view

* [W-5999040] updating internal alerting metrics for consistency + refactoring (alertclients) (#474)

* [W-5999040] add alertId to alert skipped metrics, make other alert metrics consistent
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006S2nOIAS/view
@rev sudhanshu-bahety@

* [W-5999040] Update audit metrics for refocus notifiers to publish metric with "action=notified"
@rev sudhanshu-bahety@
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006S2nOIAS/view

* Revert "[W-6246246] Merge develop into master for 4.75.17 release (#483)" (#484)

This reverts commit 4d9a34c.

* W-6178055: Fixing counter type (to gauge type) for mbeanserver.mbean.total counter (#487)

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006uQh4IAE/view

* Clearing Client logs (AKC Metrics, Alert Client) (#489)

* clearing alert log

* adding metric consumer lag to push to tsdb

* adding test case

* Undo surefire commit changes - https://git.soma.salesforce.com/ArgusMonitoring/Argus/pull/368/files

* Remove PhoenixTSDB* Deadcode

* Add testNoAuthDoesNotThrow

* Fix formatting for AlertDefinitionsCache

* Add tests for AlertDefinitionsCache

* Enable some of the alert cache refresh thread tests

* Adding unit tests for NotificationsCache (#492)

* Kill unused classes GaugeExporter, CounterMetricJMXExporter, GaugeMXBean, MutableGauge (#491)

* W-6264611: Fixing PagerDutyNotifier template substitution (#490)

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006wL5NIAU/view

* AlertsCountContextTest (#495)

* Fixing the default for stop timestamp (#486)

* Added unit tests for EmailNotifier

* re-enable AlertServiceTest & AlertCacheRefresherThreadTest  (#496)

* re-enable AlertServiceTest & AlertCacheRefresherThreadTest (#498)

* AlertsCountContextTest

* backing up not runnable test

* bad commit

* bad commit

* Working AlertServiceTest & CacheRefreshTest

* Optimizing imports

* Clearing Alert after every test

* removing ignores

* Adding alert clearing before and after

* ignoring refresh cache test

* optimizing imports

* Add unit test for RefocusForwarder.

* Redo the surefire update

* W-6204401: Fix ESSchemaService.get O(n^2) bug for queries > 10k docs matched (#488)

* Fix elasticsearch.get O(n^2) bug; Allow limit == 0 for unbounded query; Tag AsyncHBaseSchemaService as Deprecated

* optimize for requests for < 10k docs

* add tests, comments, vars

* address forgotten scroll_id reassignment

* Propagate transform fix and Rate Transform fix for one datapoint (#503)

Propagate transform fix and Rate Transform fix for one datapoint

* Image service Implementation with ES along with Image Generation changes (#477)

Image service Implementation with ES along with Image Generation changes

* W-5940819 - the default value is 4e-324 instead of zero (#507)

* W-5335462 Alias transform changes

* MetricServiceSnapshot changes

* Replacing TSDB minimum value with zero for mimmax aggregator

* [W-6043458] Fixing the possibility of NPE when the offsetForTimes api doesn't fin… (#480)

* Fixing the possibility of NPE when the offsetForTimes api doesn't find a suitable offset around the timestamp specified for starting or stopping the catchup consumers

* Catch the custom AKCException

* Adding a break to quit when no suitable offsets found to jump to

* AKC instrumentation: replace bad Funnel DC characters (#509)

* W-5872389 - supporting last and first down smapling (#514)

* W-5335462 Alias transform changes

* MetricServiceSnapshot changes

* Supporting last and first downsampling

* W-6124945 [Data Lag Detection] Push metrics to Annotation ES cluster from AKC (Annotation, AKC Metrics) (#506)

* Adding Elastic Search Consumer Offset Service

* Refactoring AnnotationUnitTest to make it work

* Binding classes and adding generic logic for querying es

* Adding test cases and replacing single imports

* Changing NoOperationMetricStorageService Configuration

* Adding JsonIgnore for metric number of datapoints

* Fixing search with multiple tags

* add user tag to schema docs pulled (#516)

* W-6300507 [Historical Testing] Part 4 - Modify AlertService to Evaluate Historical Tests  (no roles need restarting yet) (#513)

* * W-5902366 Release Argus 3.8 - updating for next release.
* @rev @nikhil-wahi @
* https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006Qf02IAC/view

Updating for next release.

* W-6247016 [Historical Testing] Part 2 - Stub REST API for Historical Testing
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006w22rIAA/view

Add comments to code on how to refactor DefaultAlertService for historical alert testing.

* W-6300507 [Historical Testing] Part 4 - Modify AlertService to Evaluate Historical Tests
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006xJyDIAU/view

* W-6300507 [Historical Testing] Part 4 - Modify AlertService to Evaluate Historical Tests
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006xJyDIAU/view

Implement alert test function that returns results.
Added one unit test.

* W-6300507 [Historical Testing] Part 4 - Modify AlertService to Evaluate Historical Tests
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006xJyDIAU/view

Implement alert test function that returns results.
Added one unit test.

* W-6300507 [Historical Testing] Part 4 - Modify AlertService to Evaluate Historical Tests
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000006xJyDIAU/view

Don't register NoOp Notifier - not currently used.

* W-6125136 Correctly compute alerts evaluated so far (#518)

* W-6300427: METADATA_INCLUDE transforms with IDB implementations (#505)

* Add MetadataService with IDB implementations, unit tests

* Parallelize IDB http requests; refactor methods to accept Collections;
add monitoring

* Convert #from_device# mode into more flexible #host_from_tag#, #tagk# mode

* address comments, add specific IDB timeouts

* Divide fix (#512)

* Fixing DIVIDE transform to provide an option to have a default value when timeseries is missing

* Image minor changes (#517)

* Minor changes related to image service i.e Changed default color of first times series to be blue
 and also changed decimal format of the timeseries values

* Fixing New map is not constructed successfully Error (#520)

* Fixing New map is not constructed successfully error

* Allow alert notifications to include TS image charts (#521)

* Updated to support images in notifications

* Modified MailService to take in a POJO instead of separate arguments

* Moved the image retrieval logic to defaultAlertService

* Updated to show labels on the images

* Updated unit tests

* W-6170279- Add Alert EvaluationId per alert evaluation. (#531)

* Updated to add a tracking ID for on each notifier

* W-5817193, W-5601823: Adding additional fields to the Notification class and dto class. (#527)

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000005ylWrIAI/view
https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000005xVTAIA2/view

* W-5817193: Adding ability to set a custom email subject for EmailNotifier, retaining default subject if custom does not exist. (#532)

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000005ylWrIAI/view

* W-5601823: Adding a flag to enable/disable clear notification for EmailNotifier and GusNotifier. (#533)

https://gus.lightning.force.com/lightning/r/ADM_Work__c/a07B0000005xVTAIA2/view

* Image constantvalue fix (#536)

* Handling the scenario when all the datapoints in the timeseries are same for a single Timeseries

* Handling the scenario when all the datapoints in the graph are equal to zero

* Fixing GROUPBYTAG with DIVIDE and other similar transforms (#534)

* Fixing GROUPBYTAG with DIVIDE and other similar transforms

* W-6124945 [Data Lag Detection] Push metrics to Annotation ES cluster from AKC (Annotation, AKC Metrics)  2 (#523)

* Adding logic for gauge metrics in instrumentation service

* Making instrumentation service sleep before starting off

* Changing enum name in Gauge Metric

* Adding metric storage service as a parameter to instrumentation service

* Fixes made to  image shading when the trigger is defined as between or not between (#538)

* Added fixes image shading in cases when the trigger is between or not between

* Added missing return for case when there's no data

* Add expression prettifier (#524)

* Slice (#530)

* W-5335462 Alias transform changes

* MetricServiceSnapshot changes

* Slice transform implementation

* SLice transform implementation

* Slice transform implementation

* Improving regex to accept start and end

* Spelling correction

* Add login instruction (#541)

* fix duplicate IDB DKS config key (#545)

* W-6124967 [Data Lag Detection] Query Annotation ES cluster to detect data lag (Alert Client) (#511)

* Adding datalag interface for implementation

* Adding javadoc to interface

* Adding class for consumer offset datalag calculation

* Adding triggering and clearing thresholds

* Adding inertia logic

* Testing framework completed

* Adding tests for data lag methods

* Adding debug mode checks

* Adding more cases for data lag checks

* Adding metric query parsing logic and further checks

* Adding flexibility while handling cases

* W-6124967 [Data Lag Detection] Query Annotation ES cluster to detect data lag (Alert Client) - 2 (#547)

* Make function non-static (#550)

* Updated to use alert enqueue timestamp while computing the notification tracking ID (#551)

* Add parentheses folding for prettify editor (#549)

* Add expression prettifier

* Add login instruction

* Add parentheses folding to prettify editor

* merge

* Update .travis.yml

* fix UT

* ignore datalag service test, failing in travis but works locally

* fix missing import

* remove unused code

* fix tests

* fixes

* fix test
5854e08

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Argus Build Status Static Analysis argus-sdk - Maven Central

Argus is a time-series monitoring and alerting platform. It consists of discrete services to configure alerts, ingest and transform metrics & events, send notifications, create namespaces, and to both establish and enforce policies and quotas for usage.

Its architecture allows any and all of these services to be retargeted to new technology as it becomes available, with little to no impact on the users.

To find out more see the wiki and check out the release notes.

Argus UI

Building Argus

Installing The Resource Filters

Argus uses the argus-build.properties file as a resource filter for the build and all the module builds. After you clone the project for the first time, or after you change this file, you must create and install the dependency jars which will contain these filters. Those dependency jars are then pulled in by the modules, expanded and have their values applied to the module specific builds. Luckily, it's a straightforward operation. Just execute the following command from within the parent project, after you first clone the project or after you update the argus-build.properties file.

mvn -DskipTests=true -DskipDockerBuild --non-recursive install

Running The Unit Tests

Once the resource filters are installed, you can run unit tests. Running the unit tests doesn't require any changes to the argus-build.properties file. Just install the resource filters and execute the test goal.

mvn test

Only the unit tests are run by codecov.io and as such, the coverage reported by it is significantly less than the coverage obtained by running the full test suite.

Running The Integration Tests (Deprecated)

Currently the integration tests are non-functional but are being retained in case we want to resurrect them.

The integration tests for Argus use the LDAPAuthService implementation of the AuthService interface and the DefaultTSDBService implementation of the TSDBService interface (which targets OpenTSDB). Additionally it uses the RedisCacheService implementation of the CacheService interface to facilitate integration testing of the BatchService. In order to run the integration tests you must update the argus-build.properties file to correctly setup the external LDAP you'll be testing against and the OpenTSDB endpoints to use as well as the Redis cluster. The snippet below shows the specific properties that should be modified in the argus-build.properties file. Of course, after you make these updates, you must re-install the resource filter dependencies as described above and execute the clean goal, before running the integration tests.

# The LDAP endpoint to use
service.property.auth.ldap.endpoint=ldaps://ldaps.yourdomain.com:636
# A list of comma separated search paths used to query the DN of users attempting to authenticate.
# This example lists two separate search bases.  One for users and one for service accounts.
service.property.auth.ldap.searchbase=OU=active,OU=user,DC=yourdomain,DC=com:OU=active,OU=robot,DC=yourdomain,DC=com
# This specifies of the DN for the privileged user that is used to bind and subsequently execute the search for user DN's
service.property.auth.ldap.searchdn=CN=argus_admin,OU=active,OU=user,DC=yourdomain,DC=com
# The password for the privileged user above.
service.property.auth.ldap.searchpwd=Argu5R0cks!
# The LDAP field with which the username provided during a login attempt, will be matched.
# This is used so Argus can obtain the DN for the user attempting to login, and subsequently attempt to bind as that user.
service.property.auth.ldap.usernamefield=sAMAccountName
# The TSDB read endpoint
service.property.tsdb.endpoint.read=http://readtsdb.yourdomain.com:4466
# The TSDB write endpoint
service.property.tsdb.endpoint.write=http://writetsdb.yourdomain.com:4477
# The Redis cache cluster information
service.property.cache.redis.cluster=redis0.mycompany.com:6379,redis1.mycompany.com:6389

Once the modifications have been made and the resource filters re-installed, you're ready to run the complete suite of tests, including the integration tests.

mvn verify

Generating Coverage Reports

Coverage is calculated everytime tests are run for all modules with the exception of ArgusWeb. In order to generate a coverage report for a module, just cd into the module subdirectory and run the report generation target.

mvn jacoco:report

Coverage reports are generated in the target/site/jacoco directory.

Deploying & Running Argus

Please see the wiki for information on how to deploy, configure and run Argus.

You can’t perform that action at this time.