Skip to content

Commit

Permalink
Entity Metrics Graphs Report:
Browse files Browse the repository at this point in the history
- Fixed #95
- Fixed the time rendering bug on the graphs where the last time comparison should have been <= (not <)

Snapshots Report:
- Added parsing tables addressed by the query (SELECT, INSERT, UPDATE, etc) from the SQL
- Added multiselect option to the execution range
- Added query type and table type parsing for Cassandra calls

DB Entities Report:
- Added parsing tables addressed by the query (SELECT, INSERT, UPDATE, etc) from the SQL for Queries
- Added multiselect option to the execution range

Flame Graphs Report:
- Added a bunch of new frameworks to color in pretty pretty colors
- Added copy ability for the flame graph element
- Fixed exception that happens with lookups of unknown frameworks that are obfuscated
- Fixed ANTLR mapping coloring because I clearly can't spell
- Changed colors of NewtonSoft JSON mapping

Flowmaps Report:
- Removed extraction of per-minute report as nobody was using it

Configuration Report:
- Added Entity Identifier column to configuration differences to be unambigious about which entity is being compared
- Added parsing for Excluded tiers for BT Scopes

Health Check:
- Added a number of new rules for the first release
  • Loading branch information
danielodievich committed Mar 11, 2020
1 parent 3cc2ce4 commit 8659a92
Show file tree
Hide file tree
Showing 53 changed files with 4,420 additions and 1,057 deletions.
431 changes: 0 additions & 431 deletions AppDynamics.Dexter.csproj

This file was deleted.

16 changes: 5 additions & 11 deletions AppDynamics.Dexter.sln
Original file line number Diff line number Diff line change
@@ -1,25 +1,16 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.26730.15
# Visual Studio Version 16
VisualStudioVersion = 16.0.29728.190
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppDynamics.Dexter", "AppDynamics.Dexter.csproj", "{0734F6D8-9E80-495D-A096-25668CB7D66C}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AppDynamics.Dexter.Core", "AppDynamics.Dexter.Core.csproj", "{F2687CC0-8C55-4B74-AE08-7A1D6DDE18E1}"
EndProject
Global
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0734F6D8-9E80-495D-A096-25668CB7D66C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0734F6D8-9E80-495D-A096-25668CB7D66C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0734F6D8-9E80-495D-A096-25668CB7D66C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0734F6D8-9E80-495D-A096-25668CB7D66C}.Release|Any CPU.Build.0 = Release|Any CPU
{F2687CC0-8C55-4B74-AE08-7A1D6DDE18E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F2687CC0-8C55-4B74-AE08-7A1D6DDE18E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F2687CC0-8C55-4B74-AE08-7A1D6DDE18E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
Expand All @@ -31,4 +22,7 @@ Global
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {200EEB73-470E-41D4-8004-318CCF3A0954}
EndGlobalSection
GlobalSection(Performance) = preSolution
HasPerformanceSessions = true
EndGlobalSection
EndGlobal
6 changes: 4 additions & 2 deletions ControllerApi/ControllerApi.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1923,7 +1923,8 @@ private string apiGET(string restAPIUrl, string acceptHeader, bool useXSRFHeader
logger.Error("{0}/{1} GET as {2} returned {3} ({4})", this.ControllerUrl, restAPIUrl, this.UserName, (int)response.StatusCode, response.ReasonPhrase);
}

if (response.StatusCode == HttpStatusCode.Unauthorized)
if (response.StatusCode == HttpStatusCode.Unauthorized ||
response.StatusCode == HttpStatusCode.Forbidden)
{
loggerConsole.Error("{0}/{1} GET as {2} returned {3} ({4})", this.ControllerUrl, restAPIUrl, this.UserName, (int)response.StatusCode, response.ReasonPhrase);
}
Expand Down Expand Up @@ -1996,7 +1997,8 @@ private string apiPOST(string restAPIUrl, string acceptHeader, string requestBod
logger.Error("{0}/{1} POST as {2} returned {3} ({4})", this.ControllerUrl, restAPIUrl, this.UserName, (int)response.StatusCode, response.ReasonPhrase);
}

if (response.StatusCode == HttpStatusCode.Unauthorized)
if (response.StatusCode == HttpStatusCode.Unauthorized ||
response.StatusCode == HttpStatusCode.Forbidden)
{
loggerConsole.Error("{0}/{1} POST as {2} returned {3} ({4})", this.ControllerUrl, restAPIUrl, this.UserName, (int)response.StatusCode, response.ReasonPhrase);
}
Expand Down
5 changes: 3 additions & 2 deletions DataObjects/JobConfiguration/JobStatus.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,9 @@ public enum JobStatus
IndexAPMMetrics = 80,
IndexAPMFlowmaps = 81,
IndexAPMSnapshots = 82,

IndexAPMHealthCheck = 90,

IndexControllerHealthCheck = 90,
IndexAPMHealthCheck = 91,

// Report steps
ReportControllerAndApplicationConfiguration = 100,
Expand Down
6 changes: 3 additions & 3 deletions DefaultJob.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@
],
"Input": {
"TimeRange": {
"From": "2019-12-17T09:00:00",
"To": "2019-12-17T10:00:00"
"From": "2020-03-09T09:00:00",
"To": "2020-03-09T10:00:00"
},
"UsersGroupsRolesPermissions": true,
"Dashboards": true,
Expand All @@ -67,7 +67,7 @@
"Metrics": true,
"MetricsSelectionCriteria": [ "TransactionApplication", "TransactionTier", "TransactionNode", "TransactionBackend", "TransactionBT", "TransactionSEP", "TransactionError", "TransactionIP", "AgentStats", "OSHardware", "CLRStats", "IISStats", "IISReqCounts", "IISReqPerf", "JVMStats", "BusinessTransactionPercentiles" ],
"Flowmaps": true,
"EntityDashboards": true,
"EntityDashboards": false,
"EntityDashboardSelectionCriteria": {
"Tiers": [],
"TierType": {
Expand Down
25 changes: 21 additions & 4 deletions FlameGraphTemplate.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
170 changes: 156 additions & 14 deletions HealthCheckSettingMapping.csv
Original file line number Diff line number Diff line change
@@ -1,21 +1,163 @@
Name,Value,DataType
LatestControllerVersion,4.5.16,Version
LatestAppAgentVersion,4.5.10,Version
LatestMachineAgentVersion,4.5.10,Version
ControllerVersionGrade5,4.5.16,Version
APMAgentVersionGrade2,4.2,Version
APMAgentVersionGrade3,4.3,Version
APMAgentVersionGrade4,4.4,Version
APMAgentVersionGrade5,4.5,Version
APMApplicationNameLengthGrade2,60,Integer
APMApplicationNameLengthGrade3,50,Integer
APMApplicationNameLengthGrade4,40,Integer
APMApplicationNameLengthGrade5,30,Integer
APMBackendCountGrade2,2000,Integer
APMBackendCountGrade3,1500,Integer
APMBackendCountGrade4,1000,Integer
APMBackendCountGrade5,500,Integer
APMBackendErrorRateGrade2,80,Integer
APMBackendErrorRateGrade3,60,Integer
APMBackendErrorRateGrade4,40,Integer
APMBackendErrorRateGrade5,20,Integer
APMBTCountGrade3,500,Integer
APMBTCountGrade4,300,Integer
APMBTCountGrade5,200,Integer
APMBusinessTransactionErrorRateGrade2,80,Integer
APMBusinessTransactionErrorRateGrade3,60,Integer
APMBusinessTransactionErrorRateGrade4,40,Integer
APMBusinessTransactionErrorRateGrade5,20,Integer
APMEntityNameEnvironmentRegex,(production|prod|qa|test|tst|nonprod|perf|performance|sit|clt|dev|uat|poc|pov|demo|stage|stg|int|integration),String
APMMachineAgentVersionGrade2,4.2,Version
APMMachineAgentVersionGrade3,4.3,Version
APMMachineAgentVersionGrade4,4.4,Version
APMMachineAgentVersionGrade5,4.5,Version
APMNodeNameWarningCharacters,` |\/?&,String
APMTierCountGrade2,100,Integer
APMTierCountGrade3,50,Integer
APMTierCountGrade4,40,Integer
APMTierErrorRateGrade2,80,Integer
APMTierErrorRateGrade3,60,Integer
APMTierErrorRateGrade4,40,Integer
APMTierErrorRateGrade5,20,Integer
APMTierNameLengthGrade2,60,Integer
APMTierNameLengthGrade3,50,Integer
APMTierNameLengthGrade4,40,Integer
APMTierNameLengthGrade5,30,Integer
APMTierNameWarningCharacters,` |\/?&,String
ApplicationErrorPercentageCritical,80,Decimal
ApplicationErrorPercentageWarning,50,Decimal
TierErrorPercentageCritical,80,Decimal
TierErrorPercentageWarning,50,Decimal
NodeErrorPercentageCritical,80,Decimal
NodeErrorPercentageWarning,50,Decimal
BusinessTransactionErrorPercentageCritical,80,Decimal
BusinessTransactionErrorPercentageWarning,50,Decimal
TierAvailabilityPercentageCritical,10,Decimal
TierAvailabilityPercentageWarning,30,Decimal
ControllerSetting.demo.application.custom.metric.registration.limit,10000,Integer
ControllerSetting.demo.application.metric.registration.limit,100000,Integer
ControllerSetting.demo.async.thread.tracking.registration.limit,1000,Integer
ControllerSetting.demo.backend.registration.limit,100000,Integer
ControllerSetting.demo.collections.ADD.registration.limit,4000,Integer
ControllerSetting.demo.error.registration.limit,4000,Integer
ControllerSetting.demo.events.buffer.size,8,Integer
ControllerSetting.demo.memory.ADD.registration.limit,4000,Integer
ControllerSetting.demo.metric.registration.limit,100000,Integer
ControllerSetting.demo.metrics.buffer.size,8,Integer
ControllerSetting.demo.process.snapshots.buffer.size,8,Integer
ControllerSetting.demo.sep.ADD.registration.limit,4000,Integer
ControllerSetting.demo.snapshots.buffer.size,8,Integer
ControllerSetting.demo.stacktrace.ADD.registration.limit,4000,Integer
ControllerSetting.demo.tracked.object.ADD.registration.limit,4000,Integer
ControllerSetting.dev.application.custom.metric.registration.limit,10000,Integer
ControllerSetting.dev.application.metric.registration.limit,100000,Integer
ControllerSetting.dev.async.thread.tracking.registration.limit,1000,Integer
ControllerSetting.dev.backend.registration.limit,100000,Integer
ControllerSetting.dev.collections.ADD.registration.limit,4000,Integer
ControllerSetting.dev.error.registration.limit,4000,Integer
ControllerSetting.dev.events.buffer.size,16,Integer
ControllerSetting.dev.memory.ADD.registration.limit,4000,Integer
ControllerSetting.dev.metric.registration.limit,100000,Integer
ControllerSetting.dev.metrics.buffer.size,64,Integer
ControllerSetting.dev.process.snapshots.buffer.size,16,Integer
ControllerSetting.dev.sep.ADD.registration.limit,4000,Integer
ControllerSetting.dev.snapshots.buffer.size,16,Integer
ControllerSetting.dev.stacktrace.ADD.registration.limit,4000,Integer
ControllerSetting.dev.tracked.object.ADD.registration.limit,4000,Integer
ControllerSetting.extra-large.application.custom.metric.registration.limit,6000000,Integer
ControllerSetting.extra-large.application.metric.registration.limit,15000000,Integer
ControllerSetting.extra-large.async.thread.tracking.registration.limit,80000,Integer
ControllerSetting.extra-large.backend.registration.limit,100000,Integer
ControllerSetting.extra-large.collections.ADD.registration.limit,3000000,Integer
ControllerSetting.extra-large.error.registration.limit,200000,Integer
ControllerSetting.extra-large.events.buffer.size,50,Integer
ControllerSetting.extra-large.memory.ADD.registration.limit,4000,Integer
ControllerSetting.extra-large.metric.registration.limit,100000000,Integer
ControllerSetting.extra-large.metrics.buffer.size,300,Integer
ControllerSetting.extra-large.process.snapshots.buffer.size,100,Integer
ControllerSetting.extra-large.sep.ADD.registration.limit,16000,Integer
ControllerSetting.extra-large.snapshots.buffer.size,200,Integer
ControllerSetting.extra-large.stacktrace.ADD.registration.limit,3000000,Integer
ControllerSetting.extra-large.tracked.object.ADD.registration.limit,4000,Integer
ControllerSetting.internal.application.custom.metric.registration.limit,10000,Integer
ControllerSetting.internal.application.metric.registration.limit,100000,Integer
ControllerSetting.internal.async.thread.tracking.registration.limit,1000,Integer
ControllerSetting.internal.backend.registration.limit,100000,Integer
ControllerSetting.internal.collections.ADD.registration.limit,4000,Integer
ControllerSetting.internal.error.registration.limit,4000,Integer
ControllerSetting.internal.events.buffer.size,16,Integer
ControllerSetting.internal.memory.ADD.registration.limit,4000,Integer
ControllerSetting.internal.metric.registration.limit,100000,Integer
ControllerSetting.internal.metrics.buffer.size,64,Integer
ControllerSetting.internal.process.snapshots.buffer.size,16,Integer
ControllerSetting.internal.sep.ADD.registration.limit,4000,Integer
ControllerSetting.internal.snapshots.buffer.size,16,Integer
ControllerSetting.internal.stacktrace.ADD.registration.limit,4000,Integer
ControllerSetting.internal.tracked.object.ADD.registration.limit,4000,Integer
ControllerSetting.large.application.custom.metric.registration.limit,2000000,Integer
ControllerSetting.large.application.metric.registration.limit,7000000,Integer
ControllerSetting.large.async.thread.tracking.registration.limit,4000,Integer
ControllerSetting.large.backend.registration.limit,100000,Integer
ControllerSetting.large.collections.ADD.registration.limit,2000000,Integer
ControllerSetting.large.error.registration.limit,100000,Integer
ControllerSetting.large.events.buffer.size,8,Integer
ControllerSetting.large.memory.ADD.registration.limit,4000,Integer
ControllerSetting.large.metric.registration.limit,50000000,Integer
ControllerSetting.large.metrics.buffer.size,300,Integer
ControllerSetting.large.process.snapshots.buffer.size,50,Integer
ControllerSetting.large.sep.ADD.registration.limit,12000,Integer
ControllerSetting.large.snapshots.buffer.size,50,Integer
ControllerSetting.large.stacktrace.ADD.registration.limit,2000000,Integer
ControllerSetting.large.tracked.object.ADD.registration.limit,4000,Integer
ControllerSetting.medium.application.custom.metric.registration.limit,1000000,Integer
ControllerSetting.medium.application.metric.registration.limit,1000000,Integer
ControllerSetting.medium.async.thread.tracking.registration.limit,2000,Integer
ControllerSetting.medium.backend.registration.limit,100000,Integer
ControllerSetting.medium.collections.ADD.registration.limit,4000,Integer
ControllerSetting.medium.error.registration.limit,16000,Integer
ControllerSetting.medium.events.buffer.size,10,Integer
ControllerSetting.medium.memory.ADD.registration.limit,4000,Integer
ControllerSetting.medium.metric.registration.limit,20000000,Integer
ControllerSetting.medium.metrics.buffer.size,500,Integer
ControllerSetting.medium.process.snapshots.buffer.size,40,Integer
ControllerSetting.medium.sep.ADD.registration.limit,8000,Integer
ControllerSetting.medium.snapshots.buffer.size,40,Integer
ControllerSetting.medium.stacktrace.ADD.registration.limit,300000,Integer
ControllerSetting.medium.tracked.object.ADD.registration.limit,4000,Integer
ControllerSetting.small.application.custom.metric.registration.limit,10000,Integer
ControllerSetting.small.application.metric.registration.limit,100000,Integer
ControllerSetting.small.async.thread.tracking.registration.limit,1000,Integer
ControllerSetting.small.backend.registration.limit,100000,Integer
ControllerSetting.small.collections.ADD.registration.limit,4000,Integer
ControllerSetting.small.error.registration.limit,4000,Integer
ControllerSetting.small.events.buffer.size,8,Integer
ControllerSetting.small.memory.ADD.registration.limit,4000,Integer
ControllerSetting.small.metric.registration.limit,100000,Integer
ControllerSetting.small.metrics.buffer.size,30,Integer
ControllerSetting.small.process.snapshots.buffer.size,10,Integer
ControllerSetting.small.sep.ADD.registration.limit,4000,Integer
ControllerSetting.small.snapshots.buffer.size,10,Integer
ControllerSetting.small.stacktrace.ADD.registration.limit,4000,Integer
ControllerSetting.small.tracked.object.ADD.registration.limit,4000,Integer
ControllerVersionGrade2,4.2,Version
ControllerVersionGrade3,4.3,Version
ControllerVersionGrade4,4.4,Version
NodeAvailabilityPercentageCritical,25,Decimal
NodeAvailabilityPercentageWarning,50,Decimal
APMApplicationNameLengthGrade5,30,Integer
APMApplicationNameLengthGrade4,40,Integer
APMApplicationNameLengthGrade3,50,Integer
APMApplicationNameLengthGrade2,60,Integer
APMApplicationNameEnvironmentRegex,(production|prod|qa|test|tst|nonprod|perf|performance|sit|clt|dev|uat|poc|pov|demo|stage|stg),String
NodeErrorPercentageCritical,80,Decimal
NodeErrorPercentageWarning,50,Decimal
TierAvailabilityPercentageCritical,10,Decimal
TierAvailabilityPercentageWarning,30,Decimal
TierErrorPercentageCritical,80,Decimal
TierErrorPercentageWarning,50,Decimal
Loading

0 comments on commit 8659a92

Please sign in to comment.