Skip to content

Commit

Permalink
Configuration Report:
Browse files Browse the repository at this point in the history
- Added comparison for WEB, MOBILE and DB applications
- Added newly updated empty templates for all
- Added forgotten Timeout field for Synthetic jobs

Snapshots Report:
- Changed SaaS extraction threads downwards somewhat
- Removed Method Call Occurrences counting dataset because it was kind of useless

Detected Entities Report:
- Added IsExplicitRule to BTs and Backends pivot filters

Flame Graphs Report:
- Added XML character validation to the Exits
- Slight recoloring of the custom buckets to remove the reds
- Added support for Hybris color

Licenses Report:
- Changed sources to use public License API
  • Loading branch information
danielodievich committed Jun 11, 2019
1 parent eec31cd commit e4d9aef
Show file tree
Hide file tree
Showing 139 changed files with 10,007 additions and 4,764 deletions.
339 changes: 336 additions & 3 deletions AppDynamics.Dexter.Core.csproj

Large diffs are not rendered by default.

102 changes: 54 additions & 48 deletions ControllerApi/ControllerApi.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1568,15 +1568,34 @@ public string GetAccount()
return this.apiGET("controller/restui/user/account", "application/json", true);
}

public string GetLicenseModules(long accountID)
{
return this.apiGET(String.Format("api/accounts/{0}/licensemodules", accountID), "application/vnd.appd.cntrl+json", false);
}

public string GetLicenseModuleProperties(long accountID, string licenseModule)
{
return this.apiGET(String.Format("api/accounts/{0}/licensemodules/{1}/properties", accountID, licenseModule), "application/vnd.appd.cntrl+json", false);
}

public string GetLicenseModuleUsages(long accountID, string licenseModule, DateTime from, DateTime to)
{
// I really want to use {0:o} but our Controller chokes on this:
// yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK
// ^^^^^^^^^

return this.apiGET(String.Format("api/accounts/{0}/licensemodules/{1}/usages?startdate={2:yyyy-MM-ddTHH:mm:ssK}&enddate={3:yyyy-MM-ddTHH:mm:ssK}&showfiveminutesresolution=false", accountID, licenseModule, from, to), "application/vnd.appd.cntrl+json", false);
}

public string GetLicense(long startTimeInUnixEpochFormat, long endTimeInUnixEpochFormat, long durationBetweenTimes)
{
string requestJSONTemplate =
@"{{
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2}
}}";
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2}
}}";

string requestBody = String.Format(requestJSONTemplate,
startTimeInUnixEpochFormat,
Expand All @@ -1590,11 +1609,11 @@ public string GetLicenseUsageAllExceptEUMSummary(long startTimeInUnixEpochFormat
{
string requestJSONTemplate =
@"{{
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2}
}}";
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2}
}}";

string requestBody = String.Format(requestJSONTemplate,
startTimeInUnixEpochFormat,
Expand All @@ -1608,11 +1627,11 @@ public string GetLicenseUsageEUMSummary(long startTimeInUnixEpochFormat, long en
{
string requestJSONTemplate =
@"{{
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2}
}}";
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2}
}}";

string requestBody = String.Format(requestJSONTemplate,
startTimeInUnixEpochFormat,
Expand All @@ -1626,11 +1645,11 @@ public string GetLicenseUsageAPM(long startTimeInUnixEpochFormat, long endTimeIn
{
string requestJSONTemplate =
@"{{
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2}
}}";
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2}
}}";

string requestBody = String.Format(requestJSONTemplate,
startTimeInUnixEpochFormat,
Expand Down Expand Up @@ -1679,13 +1698,13 @@ public string GetLicenseUsageOtherAgent(string licenseType, long startTimeInUnix
{
string requestJSONTemplate =
@"{{
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2},
""timeRange"": null,
""timeRangeAdjusted"":false
}}";
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2},
""timeRange"": null,
""timeRangeAdjusted"":false
}}";

string requestBody = String.Format(requestJSONTemplate,
startTimeInUnixEpochFormat,
Expand All @@ -1695,32 +1714,19 @@ public string GetLicenseUsageOtherAgent(string licenseType, long startTimeInUnix
return this.apiPOST(String.Format("controller/restui/licenseRule/getAccountUsageGraphData/{0}", licenseType), "application/json", requestBody, "application/json", true);
}

public string GetLicenseRules(long startTimeInUnixEpochFormat, long endTimeInUnixEpochFormat, long durationBetweenTimes)
{
string requestJSONTemplate =
@"{{
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2}
}}";

string requestBody = String.Format(requestJSONTemplate,
startTimeInUnixEpochFormat,
endTimeInUnixEpochFormat,
durationBetweenTimes);

return this.apiPOST("controller/restui/licenseRule/getAllRulesSummary", "application/json", requestBody, "application/json", true);
public string GetLicenseRules()
{
return this.apiGET("/mds/v1/license/rules", "application/json", false);
}

public string GetLicenseRuleUsage(string ruleID, long startTimeInUnixEpochFormat, long endTimeInUnixEpochFormat, long durationBetweenTimes)
{
string requestJSONTemplate =
@"{{
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2}
""type"": ""BETWEEN_TIMES"",
""startTime"": {0},
""endTime"": {1},
""durationInMinutes"": {2}
}}";

string requestBody = String.Format(requestJSONTemplate,
Expand All @@ -1733,7 +1739,7 @@ public string GetLicenseRuleUsage(string ruleID, long startTimeInUnixEpochFormat

public string GetLicenseRuleConfiguration(string ruleID)
{
return this.apiGET(String.Format("controller/restui/licenseRule/getRuleById/{0}", ruleID), "application/json", true);
return this.apiGET(String.Format("mds/v1/license/rules/{0}", ruleID), "application/json", false);
}

public string GetControllerApplicationsForLicenseRule()
Expand Down
5 changes: 4 additions & 1 deletion DataObjects/JobConfiguration/JobInput.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@ public class JobInput
public string[] MetricsSelectionCriteria { get; set; }
public bool Snapshots { get; set; }
public bool Configuration { get; set; }
public JobTarget ConfigurationComparisonReferenceCriteria { get; set; }
public JobTarget ConfigurationComparisonReferenceAPM { get; set; }
public JobTarget ConfigurationComparisonReferenceWEB { get; set; }
public JobTarget ConfigurationComparisonReferenceMOBILE { get; set; }
public JobTarget ConfigurationComparisonReferenceDB { get; set; }
public bool Events { get; set; }
public bool UsersGroupsRolesPermissions { get; set; }
public bool Dashboards { get; set; }
Expand Down
12 changes: 6 additions & 6 deletions DefaultJob.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,17 @@
],
"Input": {
"TimeRange": {
"From": "2019-05-10T12:00:00",
"To": "2019-05-10T13:00:00"
"From": "2019-06-01T12:00:00",
"To": "2019-06-01T13:00:00"
},
"UsersGroupsRolesPermissions": true,
"Dashboards": true,
"Events": true,
"Configuration": true,
"ConfigurationComparisonReferenceCriteria": {
"Controller": "https://reference.controller",
"Application": "ReferenceApp"
},
"ConfigurationComparisonReferenceAPM": { "Controller": "", "Application": "" },
"ConfigurationComparisonReferenceWEB": { "Controller": "", "Application": "" },
"ConfigurationComparisonReferenceMOBILE": { "Controller": "", "Application": "" },
"ConfigurationComparisonReferenceDB": { "Controller": "", "Application": "" },
"DetectedEntities": true,
"Metrics": true,
"MetricsSelectionCriteria": [ "TransactionApplication", "TransactionTier", "TransactionNode", "TransactionBackend", "TransactionBT", "TransactionSEP", "TransactionError", "TransactionIP", "AgentStats", "OSHardware", "CLRStats", "IISStats", "IISReqCounts", "IISReqPerf", "JVMStats", "BusinessTransactionPercentiles" ],
Expand Down
12 changes: 12 additions & 0 deletions EmptyConfig/reference.controller/CFG/controllerversion.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<serverstatus vendorid="" version="1">
<available>true</available>
<serverid></serverid>
<serverinfo>
<vendorname>AppDynamics</vendorname>
<productname>AppDynamics Application Performance Management</productname>
<serverversion>004-005-009-002</serverversion>
<implementationVersion>Controller v4.5.9.2 Build 4.5.9.5729 Commit 0a0f3ba30d47e08b9b8187cc88707cdbe26f201e</implementationVersion>
</serverinfo>
<startupTimeInSeconds>4</startupTimeInSeconds>
</serverstatus>
1 change: 1 addition & 0 deletions EmptyConfig/reference.controller/CFG/templatesemail.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[ ]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[ ]
1 change: 1 addition & 0 deletions EmptyConfig/reference.controller/CFG/templateshttp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[ ]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[ ]
5 changes: 5 additions & 0 deletions EmptyConfig/reference.controller/DBMon.0/CFG/actions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"eventReactors" : null,
"actions" : [ ],
"actionSuppressionWindows" : null
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[ ]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[ ]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[ ]
2 changes: 2 additions & 0 deletions EmptyConfig/reference.controller/DBMon.0/CFG/healthrules.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<health-rules controller-version="004-005-009-002">
</health-rules>
5 changes: 5 additions & 0 deletions EmptyConfig/reference.controller/DBMon.0/CFG/policies.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"eventReactors" : [ ],
"actions" : [ ],
"actionSuppressionWindows" : null
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
[ ]
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"data": [ ],
"totalCount": 0
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"data": [ ],
"totalCount": 0
}
5 changes: 5 additions & 0 deletions EmptyConfig/reference.controller/EmptyAPM.0/CFG/actions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"eventReactors" : null,
"actions" : [ ],
"actionSuppressionWindows" : null
}
Loading

0 comments on commit e4d9aef

Please sign in to comment.