@l-v-yonsama/multi-platform-database-drivers 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (454) hide show
  1. package/README.md +1 -0
  2. package/built/schema/log-parse-config.schema.json +4 -4
  3. package/built/src/drivers/AwsDriver.d.ts +25 -1
  4. package/built/src/drivers/AwsDriver.js +189 -0
  5. package/built/src/drivers/AwsDriver.js.map +1 -1
  6. package/built/src/drivers/BaseDriver.js.map +1 -1
  7. package/built/src/drivers/DBDriverResolver.js.map +1 -1
  8. package/built/src/drivers/KeycloakDriver.js.map +1 -1
  9. package/built/src/drivers/MqttDriver.js.map +1 -1
  10. package/built/src/drivers/MySQLDriver.d.ts +10 -1
  11. package/built/src/drivers/MySQLDriver.js +130 -0
  12. package/built/src/drivers/MySQLDriver.js.map +1 -1
  13. package/built/src/drivers/OracleDriver.d.ts +14 -1
  14. package/built/src/drivers/OracleDriver.js +217 -2
  15. package/built/src/drivers/OracleDriver.js.map +1 -1
  16. package/built/src/drivers/PostgresDriver.d.ts +9 -1
  17. package/built/src/drivers/PostgresDriver.js +90 -2
  18. package/built/src/drivers/PostgresDriver.js.map +1 -1
  19. package/built/src/drivers/RDSBaseDriver.d.ts +26 -1
  20. package/built/src/drivers/RDSBaseDriver.js +601 -0
  21. package/built/src/drivers/RDSBaseDriver.js.map +1 -1
  22. package/built/src/drivers/RedisDriver.js.map +1 -1
  23. package/built/src/drivers/SQLServerDriver.d.ts +18 -1
  24. package/built/src/drivers/SQLServerDriver.js +282 -6
  25. package/built/src/drivers/SQLServerDriver.js.map +1 -1
  26. package/built/src/drivers/SQLiteDriver.d.ts +7 -1
  27. package/built/src/drivers/SQLiteDriver.js +33 -1
  28. package/built/src/drivers/SQLiteDriver.js.map +1 -1
  29. package/built/src/drivers/aws/AwsCloudFormationServiceClient.js.map +1 -1
  30. package/built/src/drivers/aws/AwsDynamoServiceClient.d.ts +61 -5
  31. package/built/src/drivers/aws/AwsDynamoServiceClient.js +404 -108
  32. package/built/src/drivers/aws/AwsDynamoServiceClient.js.map +1 -1
  33. package/built/src/drivers/aws/AwsS3ServiceClient.js +18 -6
  34. package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -1
  35. package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -1
  36. package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js.map +1 -1
  37. package/built/src/drivers/aws/AwsServiceClient.js.map +1 -1
  38. package/built/src/drivers/aws/AwsSsmServiceClient.js.map +1 -1
  39. package/built/src/drivers/aws/dynamoDbRdhSummary.d.ts +16 -0
  40. package/built/src/drivers/aws/dynamoDbRdhSummary.js +81 -0
  41. package/built/src/drivers/aws/dynamoDbRdhSummary.js.map +1 -0
  42. package/built/src/drivers/aws/dynamoDbResultMetadata.d.ts +9 -0
  43. package/built/src/drivers/aws/dynamoDbResultMetadata.js +71 -0
  44. package/built/src/drivers/aws/dynamoDbResultMetadata.js.map +1 -0
  45. package/built/src/drivers/index.d.ts +1 -0
  46. package/built/src/drivers/index.js +1 -0
  47. package/built/src/drivers/index.js.map +1 -1
  48. package/built/src/drivers/keycloak/resourceTreeBuilder.js.map +1 -1
  49. package/built/src/drivers/keycloak/scanResultBuilder.js.map +1 -1
  50. package/built/src/drivers/memcache/helper.js.map +1 -1
  51. package/built/src/drivers/providers/index.d.ts +3 -0
  52. package/built/src/drivers/providers/index.js +7 -0
  53. package/built/src/drivers/providers/index.js.map +1 -0
  54. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbMetricServiceAdapter.d.ts +8 -0
  55. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbMetricServiceAdapter.js +421 -0
  56. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbMetricServiceAdapter.js.map +1 -0
  57. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbOverviewMetricServiceAdapter.d.ts +7 -0
  58. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbOverviewMetricServiceAdapter.js +84 -0
  59. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbOverviewMetricServiceAdapter.js.map +1 -0
  60. package/built/src/drivers/providers/metrics/adapters/dynamodb/index.d.ts +2 -0
  61. package/built/src/drivers/providers/metrics/adapters/dynamodb/index.js +6 -0
  62. package/built/src/drivers/providers/metrics/adapters/dynamodb/index.js.map +1 -0
  63. package/built/src/drivers/providers/metrics/adapters/index.d.ts +6 -0
  64. package/built/src/drivers/providers/metrics/adapters/index.js +10 -0
  65. package/built/src/drivers/providers/metrics/adapters/index.js.map +1 -0
  66. package/built/src/drivers/providers/metrics/adapters/logs/CloudWatchLogsMetricServiceAdapter.d.ts +7 -0
  67. package/built/src/drivers/providers/metrics/adapters/logs/CloudWatchLogsMetricServiceAdapter.js +132 -0
  68. package/built/src/drivers/providers/metrics/adapters/logs/CloudWatchLogsMetricServiceAdapter.js.map +1 -0
  69. package/built/src/drivers/providers/metrics/adapters/logs/index.d.ts +1 -0
  70. package/built/src/drivers/providers/metrics/adapters/logs/index.js +5 -0
  71. package/built/src/drivers/providers/metrics/adapters/logs/index.js.map +1 -0
  72. package/built/src/drivers/providers/metrics/adapters/overview/index.d.ts +1 -0
  73. package/built/src/drivers/providers/metrics/adapters/overview/index.js +5 -0
  74. package/built/src/drivers/providers/metrics/adapters/overview/index.js.map +1 -0
  75. package/built/src/drivers/providers/metrics/adapters/overview/overviewMetricAdapterUtils.d.ts +26 -0
  76. package/built/src/drivers/providers/metrics/adapters/overview/overviewMetricAdapterUtils.js +80 -0
  77. package/built/src/drivers/providers/metrics/adapters/overview/overviewMetricAdapterUtils.js.map +1 -0
  78. package/built/src/drivers/providers/metrics/adapters/s3/S3MetricServiceAdapter.d.ts +21 -0
  79. package/built/src/drivers/providers/metrics/adapters/s3/S3MetricServiceAdapter.js +478 -0
  80. package/built/src/drivers/providers/metrics/adapters/s3/S3MetricServiceAdapter.js.map +1 -0
  81. package/built/src/drivers/providers/metrics/adapters/s3/S3OverviewMetricServiceAdapter.d.ts +13 -0
  82. package/built/src/drivers/providers/metrics/adapters/s3/S3OverviewMetricServiceAdapter.js +172 -0
  83. package/built/src/drivers/providers/metrics/adapters/s3/S3OverviewMetricServiceAdapter.js.map +1 -0
  84. package/built/src/drivers/providers/metrics/adapters/s3/index.d.ts +2 -0
  85. package/built/src/drivers/providers/metrics/adapters/s3/index.js +6 -0
  86. package/built/src/drivers/providers/metrics/adapters/s3/index.js.map +1 -0
  87. package/built/src/drivers/providers/metrics/adapters/ses/SesMetricServiceAdapter.d.ts +13 -0
  88. package/built/src/drivers/providers/metrics/adapters/ses/SesMetricServiceAdapter.js +183 -0
  89. package/built/src/drivers/providers/metrics/adapters/ses/SesMetricServiceAdapter.js.map +1 -0
  90. package/built/src/drivers/providers/metrics/adapters/ses/index.d.ts +1 -0
  91. package/built/src/drivers/providers/metrics/adapters/ses/index.js +5 -0
  92. package/built/src/drivers/providers/metrics/adapters/ses/index.js.map +1 -0
  93. package/built/src/drivers/providers/metrics/adapters/sqs/SqsMetricServiceAdapter.d.ts +7 -0
  94. package/built/src/drivers/providers/metrics/adapters/sqs/SqsMetricServiceAdapter.js +174 -0
  95. package/built/src/drivers/providers/metrics/adapters/sqs/SqsMetricServiceAdapter.js.map +1 -0
  96. package/built/src/drivers/providers/metrics/adapters/sqs/SqsOverviewMetricServiceAdapter.d.ts +7 -0
  97. package/built/src/drivers/providers/metrics/adapters/sqs/SqsOverviewMetricServiceAdapter.js +81 -0
  98. package/built/src/drivers/providers/metrics/adapters/sqs/SqsOverviewMetricServiceAdapter.js.map +1 -0
  99. package/built/src/drivers/providers/metrics/adapters/sqs/index.d.ts +2 -0
  100. package/built/src/drivers/providers/metrics/adapters/sqs/index.js +6 -0
  101. package/built/src/drivers/providers/metrics/adapters/sqs/index.js.map +1 -0
  102. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsAvailability.d.ts +23 -0
  103. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsAvailability.js +69 -0
  104. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsAvailability.js.map +1 -0
  105. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsCollector.d.ts +24 -0
  106. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsCollector.js +49 -0
  107. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsCollector.js.map +1 -0
  108. package/built/src/drivers/providers/metrics/cloudwatch/alignSeriesByTimestamp.d.ts +2 -0
  109. package/built/src/drivers/providers/metrics/cloudwatch/alignSeriesByTimestamp.js +16 -0
  110. package/built/src/drivers/providers/metrics/cloudwatch/alignSeriesByTimestamp.js.map +1 -0
  111. package/built/src/drivers/providers/metrics/cloudwatch/cloudWatchMetricsTransport.d.ts +21 -0
  112. package/built/src/drivers/providers/metrics/cloudwatch/cloudWatchMetricsTransport.js +193 -0
  113. package/built/src/drivers/providers/metrics/cloudwatch/cloudWatchMetricsTransport.js.map +1 -0
  114. package/built/src/drivers/providers/metrics/cloudwatch/collectAcrossMetricEndpoints.d.ts +6 -0
  115. package/built/src/drivers/providers/metrics/cloudwatch/collectAcrossMetricEndpoints.js +99 -0
  116. package/built/src/drivers/providers/metrics/cloudwatch/collectAcrossMetricEndpoints.js.map +1 -0
  117. package/built/src/drivers/providers/metrics/cloudwatch/deriveMetricSeries.d.ts +2 -0
  118. package/built/src/drivers/providers/metrics/cloudwatch/deriveMetricSeries.js +100 -0
  119. package/built/src/drivers/providers/metrics/cloudwatch/deriveMetricSeries.js.map +1 -0
  120. package/built/src/drivers/providers/metrics/cloudwatch/index.d.ts +7 -0
  121. package/built/src/drivers/providers/metrics/cloudwatch/index.js +11 -0
  122. package/built/src/drivers/providers/metrics/cloudwatch/index.js.map +1 -0
  123. package/built/src/drivers/providers/metrics/cloudwatch/metricPeriod.d.ts +2 -0
  124. package/built/src/drivers/providers/metrics/cloudwatch/metricPeriod.js +16 -0
  125. package/built/src/drivers/providers/metrics/cloudwatch/metricPeriod.js.map +1 -0
  126. package/built/src/drivers/providers/metrics/index.d.ts +3 -0
  127. package/built/src/drivers/providers/metrics/index.js +7 -0
  128. package/built/src/drivers/providers/metrics/index.js.map +1 -0
  129. package/built/src/drivers/providers/metrics/metricServiceAdapterRegistry.d.ts +8 -0
  130. package/built/src/drivers/providers/metrics/metricServiceAdapterRegistry.js +27 -0
  131. package/built/src/drivers/providers/metrics/metricServiceAdapterRegistry.js.map +1 -0
  132. package/built/src/drivers/providers/performance/DynamoDbPerformanceTuningProvider.d.ts +60 -0
  133. package/built/src/drivers/providers/performance/DynamoDbPerformanceTuningProvider.js +751 -0
  134. package/built/src/drivers/providers/performance/DynamoDbPerformanceTuningProvider.js.map +1 -0
  135. package/built/src/drivers/providers/performance/MySQLPerformanceTuningProvider.d.ts +29 -0
  136. package/built/src/drivers/providers/performance/MySQLPerformanceTuningProvider.js +350 -0
  137. package/built/src/drivers/providers/performance/MySQLPerformanceTuningProvider.js.map +1 -0
  138. package/built/src/drivers/providers/performance/OraclePerformanceTuningProvider.d.ts +37 -0
  139. package/built/src/drivers/providers/performance/OraclePerformanceTuningProvider.js +393 -0
  140. package/built/src/drivers/providers/performance/OraclePerformanceTuningProvider.js.map +1 -0
  141. package/built/src/drivers/providers/performance/PerformanceTuningContextProvider.d.ts +57 -0
  142. package/built/src/drivers/providers/performance/PerformanceTuningContextProvider.js +3 -0
  143. package/built/src/drivers/providers/performance/PerformanceTuningContextProvider.js.map +1 -0
  144. package/built/src/drivers/providers/performance/PostgresPerformanceTuningProvider.d.ts +24 -0
  145. package/built/src/drivers/providers/performance/PostgresPerformanceTuningProvider.js +328 -0
  146. package/built/src/drivers/providers/performance/PostgresPerformanceTuningProvider.js.map +1 -0
  147. package/built/src/drivers/providers/performance/SQLServerPerformanceTuningProvider.d.ts +29 -0
  148. package/built/src/drivers/providers/performance/SQLServerPerformanceTuningProvider.js +420 -0
  149. package/built/src/drivers/providers/performance/SQLServerPerformanceTuningProvider.js.map +1 -0
  150. package/built/src/drivers/providers/performance/dynamoDbCapacity.d.ts +38 -0
  151. package/built/src/drivers/providers/performance/dynamoDbCapacity.js +111 -0
  152. package/built/src/drivers/providers/performance/dynamoDbCapacity.js.map +1 -0
  153. package/built/src/drivers/providers/performance/dynamoDbCloudWatchMetrics.d.ts +20 -0
  154. package/built/src/drivers/providers/performance/dynamoDbCloudWatchMetrics.js +221 -0
  155. package/built/src/drivers/providers/performance/dynamoDbCloudWatchMetrics.js.map +1 -0
  156. package/built/src/drivers/providers/performance/dynamoPartiqlAccessPattern.d.ts +18 -0
  157. package/built/src/drivers/providers/performance/dynamoPartiqlAccessPattern.js +736 -0
  158. package/built/src/drivers/providers/performance/dynamoPartiqlAccessPattern.js.map +1 -0
  159. package/built/src/drivers/providers/performance/index.d.ts +23 -0
  160. package/built/src/drivers/providers/performance/index.js +27 -0
  161. package/built/src/drivers/providers/performance/index.js.map +1 -0
  162. package/built/src/drivers/providers/performance/mysqlActualPlanTextParser.d.ts +26 -0
  163. package/built/src/drivers/providers/performance/mysqlActualPlanTextParser.js +181 -0
  164. package/built/src/drivers/providers/performance/mysqlActualPlanTextParser.js.map +1 -0
  165. package/built/src/drivers/providers/performance/mysqlCatalogMapper.d.ts +11 -0
  166. package/built/src/drivers/providers/performance/mysqlCatalogMapper.js +218 -0
  167. package/built/src/drivers/providers/performance/mysqlCatalogMapper.js.map +1 -0
  168. package/built/src/drivers/providers/performance/mysqlPlanParser.d.ts +11 -0
  169. package/built/src/drivers/providers/performance/mysqlPlanParser.js +209 -0
  170. package/built/src/drivers/providers/performance/mysqlPlanParser.js.map +1 -0
  171. package/built/src/drivers/providers/performance/oracleActualPlanTextParser.d.ts +10 -0
  172. package/built/src/drivers/providers/performance/oracleActualPlanTextParser.js +245 -0
  173. package/built/src/drivers/providers/performance/oracleActualPlanTextParser.js.map +1 -0
  174. package/built/src/drivers/providers/performance/oracleCatalogMapper.d.ts +11 -0
  175. package/built/src/drivers/providers/performance/oracleCatalogMapper.js +226 -0
  176. package/built/src/drivers/providers/performance/oracleCatalogMapper.js.map +1 -0
  177. package/built/src/drivers/providers/performance/oraclePlanParser.d.ts +18 -0
  178. package/built/src/drivers/providers/performance/oraclePlanParser.js +223 -0
  179. package/built/src/drivers/providers/performance/oraclePlanParser.js.map +1 -0
  180. package/built/src/drivers/providers/performance/performanceTuningDiagnosticHelpers.d.ts +2 -0
  181. package/built/src/drivers/providers/performance/performanceTuningDiagnosticHelpers.js +13 -0
  182. package/built/src/drivers/providers/performance/performanceTuningDiagnosticHelpers.js.map +1 -0
  183. package/built/src/drivers/providers/performance/planNodeMath.d.ts +20 -0
  184. package/built/src/drivers/providers/performance/planNodeMath.js +82 -0
  185. package/built/src/drivers/providers/performance/planNodeMath.js.map +1 -0
  186. package/built/src/drivers/providers/performance/postgresCatalogMapper.d.ts +20 -0
  187. package/built/src/drivers/providers/performance/postgresCatalogMapper.js +287 -0
  188. package/built/src/drivers/providers/performance/postgresCatalogMapper.js.map +1 -0
  189. package/built/src/drivers/providers/performance/postgresPlanParser.d.ts +13 -0
  190. package/built/src/drivers/providers/performance/postgresPlanParser.js +258 -0
  191. package/built/src/drivers/providers/performance/postgresPlanParser.js.map +1 -0
  192. package/built/src/drivers/providers/performance/sqlServerActualPlanXmlParser.d.ts +10 -0
  193. package/built/src/drivers/providers/performance/sqlServerActualPlanXmlParser.js +252 -0
  194. package/built/src/drivers/providers/performance/sqlServerActualPlanXmlParser.js.map +1 -0
  195. package/built/src/drivers/providers/performance/sqlServerCatalogMapper.d.ts +20 -0
  196. package/built/src/drivers/providers/performance/sqlServerCatalogMapper.js +254 -0
  197. package/built/src/drivers/providers/performance/sqlServerCatalogMapper.js.map +1 -0
  198. package/built/src/drivers/providers/performance/sqlServerPlanParser.d.ts +10 -0
  199. package/built/src/drivers/providers/performance/sqlServerPlanParser.js +199 -0
  200. package/built/src/drivers/providers/performance/sqlServerPlanParser.js.map +1 -0
  201. package/built/src/drivers/providers/performance/vendorRowCoercion.d.ts +6 -0
  202. package/built/src/drivers/providers/performance/vendorRowCoercion.js +42 -0
  203. package/built/src/drivers/providers/performance/vendorRowCoercion.js.map +1 -0
  204. package/built/src/drivers/providers/rdbDashboard/RdbDashboardProvider.d.ts +8 -0
  205. package/built/src/drivers/providers/rdbDashboard/RdbDashboardProvider.js +3 -0
  206. package/built/src/drivers/providers/rdbDashboard/RdbDashboardProvider.js.map +1 -0
  207. package/built/src/drivers/providers/rdbDashboard/RdbSampleAccumulator.d.ts +22 -0
  208. package/built/src/drivers/providers/rdbDashboard/RdbSampleAccumulator.js +331 -0
  209. package/built/src/drivers/providers/rdbDashboard/RdbSampleAccumulator.js.map +1 -0
  210. package/built/src/drivers/providers/rdbDashboard/index.d.ts +9 -0
  211. package/built/src/drivers/providers/rdbDashboard/index.js +13 -0
  212. package/built/src/drivers/providers/rdbDashboard/index.js.map +1 -0
  213. package/built/src/drivers/providers/rdbDashboard/rdbDashboardErrors.d.ts +3 -0
  214. package/built/src/drivers/providers/rdbDashboard/rdbDashboardErrors.js +10 -0
  215. package/built/src/drivers/providers/rdbDashboard/rdbDashboardErrors.js.map +1 -0
  216. package/built/src/drivers/providers/rdbDashboard/rdbDashboardValueUtils.d.ts +7 -0
  217. package/built/src/drivers/providers/rdbDashboard/rdbDashboardValueUtils.js +31 -0
  218. package/built/src/drivers/providers/rdbDashboard/rdbDashboardValueUtils.js.map +1 -0
  219. package/built/src/drivers/providers/rdbDashboard/validateRdbDashboard.d.ts +3 -0
  220. package/built/src/drivers/providers/rdbDashboard/validateRdbDashboard.js +73 -0
  221. package/built/src/drivers/providers/rdbDashboard/validateRdbDashboard.js.map +1 -0
  222. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/MySQLRdbDashboardProvider.d.ts +16 -0
  223. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/MySQLRdbDashboardProvider.js +247 -0
  224. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/MySQLRdbDashboardProvider.js.map +1 -0
  225. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/index.d.ts +3 -0
  226. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/index.js +7 -0
  227. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/index.js.map +1 -0
  228. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardCatalog.d.ts +4 -0
  229. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardCatalog.js +279 -0
  230. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardCatalog.js.map +1 -0
  231. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardQueries.d.ts +5 -0
  232. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardQueries.js +41 -0
  233. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardQueries.js.map +1 -0
  234. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/OracleRdbDashboardProvider.d.ts +21 -0
  235. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/OracleRdbDashboardProvider.js +420 -0
  236. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/OracleRdbDashboardProvider.js.map +1 -0
  237. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/index.d.ts +3 -0
  238. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/index.js +7 -0
  239. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/index.js.map +1 -0
  240. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardCatalog.d.ts +12 -0
  241. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardCatalog.js +117 -0
  242. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardCatalog.js.map +1 -0
  243. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardQueries.d.ts +8 -0
  244. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardQueries.js +60 -0
  245. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardQueries.js.map +1 -0
  246. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/PostgresRdbDashboardProvider.d.ts +13 -0
  247. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/PostgresRdbDashboardProvider.js +216 -0
  248. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/PostgresRdbDashboardProvider.js.map +1 -0
  249. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/index.d.ts +3 -0
  250. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/index.js +7 -0
  251. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/index.js.map +1 -0
  252. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardCatalog.d.ts +4 -0
  253. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardCatalog.js +218 -0
  254. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardCatalog.js.map +1 -0
  255. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardQueries.d.ts +3 -0
  256. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardQueries.js +70 -0
  257. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardQueries.js.map +1 -0
  258. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/SQLiteRdbDashboardProvider.d.ts +20 -0
  259. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/SQLiteRdbDashboardProvider.js +259 -0
  260. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/SQLiteRdbDashboardProvider.js.map +1 -0
  261. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/index.d.ts +3 -0
  262. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/index.js +7 -0
  263. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/index.js.map +1 -0
  264. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardCatalog.d.ts +5 -0
  265. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardCatalog.js +135 -0
  266. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardCatalog.js.map +1 -0
  267. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardQueries.d.ts +4 -0
  268. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardQueries.js +14 -0
  269. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardQueries.js.map +1 -0
  270. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/SQLServerRdbDashboardProvider.d.ts +16 -0
  271. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/SQLServerRdbDashboardProvider.js +301 -0
  272. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/SQLServerRdbDashboardProvider.js.map +1 -0
  273. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/index.d.ts +3 -0
  274. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/index.js +7 -0
  275. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/index.js.map +1 -0
  276. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardCatalog.d.ts +4 -0
  277. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardCatalog.js +130 -0
  278. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardCatalog.js.map +1 -0
  279. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardQueries.d.ts +6 -0
  280. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardQueries.js +91 -0
  281. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardQueries.js.map +1 -0
  282. package/built/src/helpers/ProposalHelper.js.map +1 -1
  283. package/built/src/helpers/SQLHelper.d.ts +1 -1
  284. package/built/src/helpers/SQLHelper.js +3 -1
  285. package/built/src/helpers/SQLHelper.js.map +1 -1
  286. package/built/src/helpers/dynamoDbBillingMode.d.ts +6 -0
  287. package/built/src/helpers/dynamoDbBillingMode.js +16 -0
  288. package/built/src/helpers/dynamoDbBillingMode.js.map +1 -0
  289. package/built/src/helpers/index.d.ts +1 -0
  290. package/built/src/helpers/index.js +1 -0
  291. package/built/src/helpers/index.js.map +1 -1
  292. package/built/src/helpers/prompts/Auth0PromptHelper.js.map +1 -1
  293. package/built/src/helpers/prompts/AwsPromptHelper.js.map +1 -1
  294. package/built/src/helpers/prompts/KeycloakPromptHelper.js.map +1 -1
  295. package/built/src/helpers/prompts/MemcachePromptHelper.js.map +1 -1
  296. package/built/src/helpers/prompts/MqttPromptHelper.js.map +1 -1
  297. package/built/src/helpers/prompts/RdsPromptHelper.js.map +1 -1
  298. package/built/src/helpers/prompts/RedisPromptHelper.js.map +1 -1
  299. package/built/src/helpers/prompts/SchemaPromptHelper.js.map +1 -1
  300. package/built/src/helpers/prompts/promptFormatUtils.js.map +1 -1
  301. package/built/src/helpers/sql/mutationQuery.js.map +1 -1
  302. package/built/src/helpers/sql/parameterNormalizer.js +2 -2
  303. package/built/src/helpers/sql/parameterNormalizer.js.map +1 -1
  304. package/built/src/helpers/sql/queryParser.js +272 -48
  305. package/built/src/helpers/sql/queryParser.js.map +1 -1
  306. package/built/src/helpers/sql/quote.d.ts +2 -0
  307. package/built/src/helpers/sql/quote.js +9 -2
  308. package/built/src/helpers/sql/quote.js.map +1 -1
  309. package/built/src/helpers/sql/selectQuery.js.map +1 -1
  310. package/built/src/resource/aws.d.ts +2 -1
  311. package/built/src/resource/aws.js +76 -2
  312. package/built/src/resource/aws.js.map +1 -1
  313. package/built/src/resource/base.d.ts +2 -1
  314. package/built/src/resource/base.js.map +1 -1
  315. package/built/src/resource/fromJson.js.map +1 -1
  316. package/built/src/resource/iam.js.map +1 -1
  317. package/built/src/resource/index.js.map +1 -1
  318. package/built/src/resource/keyValue.js.map +1 -1
  319. package/built/src/types/drivers/EstimatedBindParameter.d.ts +12 -0
  320. package/built/src/types/drivers/EstimatedBindParameter.js +3 -0
  321. package/built/src/types/drivers/EstimatedBindParameter.js.map +1 -0
  322. package/built/src/types/drivers/StatementStatistics.d.ts +13 -0
  323. package/built/src/types/drivers/StatementStatistics.js +10 -0
  324. package/built/src/types/drivers/StatementStatistics.js.map +1 -0
  325. package/built/src/types/drivers/index.d.ts +5 -0
  326. package/built/src/types/drivers/index.js +5 -0
  327. package/built/src/types/drivers/index.js.map +1 -1
  328. package/built/src/types/drivers/metrics/CloudWatchMetrics.d.ts +168 -0
  329. package/built/src/types/drivers/metrics/CloudWatchMetrics.js +3 -0
  330. package/built/src/types/drivers/metrics/CloudWatchMetrics.js.map +1 -0
  331. package/built/src/types/drivers/metrics/index.d.ts +1 -0
  332. package/built/src/types/drivers/metrics/index.js +5 -0
  333. package/built/src/types/drivers/metrics/index.js.map +1 -0
  334. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningCapabilities.d.ts +12 -0
  335. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningCapabilities.js +3 -0
  336. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningCapabilities.js.map +1 -0
  337. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningContext.d.ts +302 -0
  338. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningContext.js +7 -0
  339. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningContext.js.map +1 -0
  340. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningDiagnostic.d.ts +13 -0
  341. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningDiagnostic.js +3 -0
  342. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningDiagnostic.js.map +1 -0
  343. package/built/src/types/drivers/performance/PerformanceTuningCapabilities.d.ts +17 -0
  344. package/built/src/types/drivers/performance/PerformanceTuningCapabilities.js +3 -0
  345. package/built/src/types/drivers/performance/PerformanceTuningCapabilities.js.map +1 -0
  346. package/built/src/types/drivers/performance/PerformanceTuningContext.d.ts +263 -0
  347. package/built/src/types/drivers/performance/PerformanceTuningContext.js +3 -0
  348. package/built/src/types/drivers/performance/PerformanceTuningContext.js.map +1 -0
  349. package/built/src/types/drivers/performance/PerformanceTuningDiagnostic.d.ts +28 -0
  350. package/built/src/types/drivers/performance/PerformanceTuningDiagnostic.js +3 -0
  351. package/built/src/types/drivers/performance/PerformanceTuningDiagnostic.js.map +1 -0
  352. package/built/src/types/drivers/performance/PlanNode.d.ts +37 -0
  353. package/built/src/types/drivers/performance/PlanNode.js +3 -0
  354. package/built/src/types/drivers/performance/PlanNode.js.map +1 -0
  355. package/built/src/types/drivers/performance/index.d.ts +7 -0
  356. package/built/src/types/drivers/performance/index.js +11 -0
  357. package/built/src/types/drivers/performance/index.js.map +1 -0
  358. package/built/src/types/drivers/rdbDashboard/RdbDashboardCapabilities.d.ts +30 -0
  359. package/built/src/types/drivers/rdbDashboard/RdbDashboardCapabilities.js +3 -0
  360. package/built/src/types/drivers/rdbDashboard/RdbDashboardCapabilities.js.map +1 -0
  361. package/built/src/types/drivers/rdbDashboard/RdbDashboardDefinition.d.ts +134 -0
  362. package/built/src/types/drivers/rdbDashboard/RdbDashboardDefinition.js +14 -0
  363. package/built/src/types/drivers/rdbDashboard/RdbDashboardDefinition.js.map +1 -0
  364. package/built/src/types/drivers/rdbDashboard/RdbDashboardSample.d.ts +69 -0
  365. package/built/src/types/drivers/rdbDashboard/RdbDashboardSample.js +3 -0
  366. package/built/src/types/drivers/rdbDashboard/RdbDashboardSample.js.map +1 -0
  367. package/built/src/types/drivers/rdbDashboard/index.d.ts +3 -0
  368. package/built/src/types/drivers/rdbDashboard/index.js +7 -0
  369. package/built/src/types/drivers/rdbDashboard/index.js.map +1 -0
  370. package/built/src/types/helpers/index.js.map +1 -1
  371. package/built/src/types/index.d.ts +1 -0
  372. package/built/src/types/index.js +1 -0
  373. package/built/src/types/index.js.map +1 -1
  374. package/built/src/types/observability/dashboardLaunchCapability.d.ts +11 -0
  375. package/built/src/types/observability/dashboardLaunchCapability.js +22 -0
  376. package/built/src/types/observability/dashboardLaunchCapability.js.map +1 -0
  377. package/built/src/types/observability/index.d.ts +1 -0
  378. package/built/src/types/observability/index.js +5 -0
  379. package/built/src/types/observability/index.js.map +1 -0
  380. package/built/src/types/resource/AwsCfnStackAttributes.js.map +1 -1
  381. package/built/src/types/resource/AwsDynamoTableAttributes.d.ts +13 -0
  382. package/built/src/types/resource/AwsServiceType.d.ts +1 -1
  383. package/built/src/types/resource/AwsSupplyCredentialType.js.map +1 -1
  384. package/built/src/types/resource/ConnectionSetting.js.map +1 -1
  385. package/built/src/types/resource/OracleColumnType.js.map +1 -1
  386. package/built/src/types/resource/RedisKeyType.d.ts +1 -1
  387. package/built/src/types/resource/ResourceType.js.map +1 -1
  388. package/built/src/types/resource/SQLServerColumnType.js.map +1 -1
  389. package/built/src/utils/bindParameterEstimator.d.ts +22 -0
  390. package/built/src/utils/bindParameterEstimator.js +400 -0
  391. package/built/src/utils/bindParameterEstimator.js.map +1 -0
  392. package/built/src/utils/cfn/applicationDiagram.js.map +1 -1
  393. package/built/src/utils/cfn/applicationRelations.js.map +1 -1
  394. package/built/src/utils/cfn/cfnDependencyGraphDiagram.js.map +1 -1
  395. package/built/src/utils/cfn/deploymentTopology.js.map +1 -1
  396. package/built/src/utils/cfn/diagramFileModel.js.map +1 -1
  397. package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js.map +1 -1
  398. package/built/src/utils/cfn/drawio/commonCells.js.map +1 -1
  399. package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js.map +1 -1
  400. package/built/src/utils/cfn/drawioApplicationDiagram.js.map +1 -1
  401. package/built/src/utils/cfn/drawioInfrastructureDiagrams.js.map +1 -1
  402. package/built/src/utils/cfn/drawioXml.js.map +1 -1
  403. package/built/src/utils/cfn/generateDiagram.js.map +1 -1
  404. package/built/src/utils/cfn/icons.js.map +1 -1
  405. package/built/src/utils/cfn/index.js.map +1 -1
  406. package/built/src/utils/cfn/intrinsics.js.map +1 -1
  407. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.js.map +1 -1
  408. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.js.map +1 -1
  409. package/built/src/utils/cfn/naming.js.map +1 -1
  410. package/built/src/utils/cfn/resourceDependencies.js.map +1 -1
  411. package/built/src/utils/cfn/templateParsing.js.map +1 -1
  412. package/built/src/utils/cfn/viewpoints.js.map +1 -1
  413. package/built/src/utils/csv.js.map +1 -1
  414. package/built/src/utils/dbType.js.map +1 -1
  415. package/built/src/utils/diagramLayout/elkLayoutEngine.js.map +1 -1
  416. package/built/src/utils/diagramLayout/index.js.map +1 -1
  417. package/built/src/utils/diagramLayout/normalizeLayout.js.map +1 -1
  418. package/built/src/utils/drawio/drawioXml.js.map +1 -1
  419. package/built/src/utils/drawio/index.js.map +1 -1
  420. package/built/src/utils/dynamoDbPerformanceTuningContextValidator.d.ts +3 -0
  421. package/built/src/utils/dynamoDbPerformanceTuningContextValidator.js +440 -0
  422. package/built/src/utils/dynamoDbPerformanceTuningContextValidator.js.map +1 -0
  423. package/built/src/utils/er/erDiagramDrawioGenerator.js.map +1 -1
  424. package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js.map +1 -1
  425. package/built/src/utils/er/erDiagramGenerator.js.map +1 -1
  426. package/built/src/utils/er/index.d.ts +1 -0
  427. package/built/src/utils/er/index.js +3 -1
  428. package/built/src/utils/er/index.js.map +1 -1
  429. package/built/src/utils/er/performanceQueryDiagram.d.ts +18 -0
  430. package/built/src/utils/er/performanceQueryDiagram.js +381 -0
  431. package/built/src/utils/er/performanceQueryDiagram.js.map +1 -0
  432. package/built/src/utils/index.d.ts +5 -0
  433. package/built/src/utils/index.js +5 -0
  434. package/built/src/utils/index.js.map +1 -1
  435. package/built/src/utils/log/buildSqlExecutions.js.map +1 -1
  436. package/built/src/utils/log/constant/base.js.map +1 -1
  437. package/built/src/utils/log/constant/logEventSplitPreset.js.map +1 -1
  438. package/built/src/utils/log/constant/sqlLogParsePreset.js.map +1 -1
  439. package/built/src/utils/log/detect/presetDetector.js.map +1 -1
  440. package/built/src/utils/log/extract/runExtractors.js.map +1 -1
  441. package/built/src/utils/log/logSummary.js.map +1 -1
  442. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js.map +1 -1
  443. package/built/src/utils/log/sql/removeSqlComments.js.map +1 -1
  444. package/built/src/utils/log/validator.js.map +1 -1
  445. package/built/src/utils/performanceTuningContext.d.ts +45 -0
  446. package/built/src/utils/performanceTuningContext.js +149 -0
  447. package/built/src/utils/performanceTuningContext.js.map +1 -0
  448. package/built/src/utils/performanceTuningContextValidator.d.ts +3 -0
  449. package/built/src/utils/performanceTuningContextValidator.js +364 -0
  450. package/built/src/utils/performanceTuningContextValidator.js.map +1 -0
  451. package/built/src/utils/statementStatistics.d.ts +11 -0
  452. package/built/src/utils/statementStatistics.js +39 -0
  453. package/built/src/utils/statementStatistics.js.map +1 -0
  454. package/package.json +38 -32
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLServerRdbDashboardProvider = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const rdbDashboardValueUtils_1 = require("../../rdbDashboardValueUtils");
6
+ const sqlServerDashboardCatalog_1 = require("./sqlServerDashboardCatalog");
7
+ const sqlServerDashboardQueries_1 = require("./sqlServerDashboardQueries");
8
+ const PERF_COUNTER_TO_METRIC = {
9
+ 'user connections': 'user_connections',
10
+ 'batch requests/sec': 'batch_requests',
11
+ 'sql compilations/sec': 'sql_compilations',
12
+ 'sql re-compilations/sec': 'sql_recompilations',
13
+ 'transactions/sec': 'transactions',
14
+ 'buffer cache hit ratio': 'buffer_cache_hits',
15
+ 'buffer cache hit ratio base': 'buffer_cache_lookups',
16
+ 'page life expectancy': 'page_life_expectancy',
17
+ 'lock waits/sec': 'lock_waits',
18
+ };
19
+ const PERFORMANCE_METRIC_IDS = Object.values(PERF_COUNTER_TO_METRIC);
20
+ const ACTIVITY_METRIC_IDS = ['active_requests', 'blocked_requests'];
21
+ const FILE_IO_METRIC_IDS = ['file_reads', 'file_writes', 'file_read_stall', 'file_write_stall'];
22
+ const DATABASE_FILE_METRIC_IDS = ['file_size_bytes', 'file_used_bytes'];
23
+ const RATE_COUNTER_TYPES = new Set([272696320, 272696576]);
24
+ const GAUGE_COUNTER_TYPES = new Set([65792]);
25
+ function iso(value) {
26
+ const date = value instanceof Date ? value : new Date(String(value !== null && value !== void 0 ? value : ''));
27
+ return Number.isFinite(date.getTime()) ? date.toISOString() : undefined;
28
+ }
29
+ function variantFor(engineEdition) {
30
+ switch (engineEdition) {
31
+ case 5:
32
+ return 'azure-sql-database';
33
+ case 8:
34
+ return 'azure-sql-managed-instance';
35
+ default:
36
+ return 'sqlserver';
37
+ }
38
+ }
39
+ class SQLServerRdbDashboardProvider {
40
+ constructor(driver) {
41
+ this.driver = driver;
42
+ this.providerId = sqlServerDashboardCatalog_1.SQLSERVER_RDB_DASHBOARD_PROVIDER_ID;
43
+ this.capabilitiesByResourceKey = new Map();
44
+ this.epochByResourceKey = new Map();
45
+ }
46
+ checkCapabilities(target, _options) {
47
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
48
+ var _a, _b, _c;
49
+ try {
50
+ const base = yield this.driver.requestSql({
51
+ sql: sqlServerDashboardQueries_1.SQLSERVER_DASHBOARD_CAPABILITIES_SQL,
52
+ conditions: { rawQueries: true },
53
+ });
54
+ const row = (_a = base.rows[0]) === null || _a === void 0 ? void 0 : _a.values;
55
+ if (!row || String((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'database_name')) !== target.databaseName) {
56
+ return { ok: false, message: 'The observer connection is not connected to the requested SQL Server database.' };
57
+ }
58
+ const variant = variantFor((0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'engine_edition')));
59
+ const databaseScope = { kind: 'database', label: `Database ${target.databaseName}` };
60
+ const serverScope = {
61
+ kind: variant === 'azure-sql-database' ? 'database-server' : 'instance',
62
+ label: variant === 'azure-sql-database' ? 'Azure SQL logical database scope' : 'SQL Server instance',
63
+ };
64
+ const hasServerVisibility = (0, rdbDashboardValueUtils_1.dashboardBoolean)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'has_view_server_state')) ||
65
+ (0, rdbDashboardValueUtils_1.dashboardBoolean)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'has_view_server_performance_state'));
66
+ const probeResults = new Map();
67
+ const probes = [
68
+ ['performance-counters', sqlServerDashboardQueries_1.SQLSERVER_DASHBOARD_PERFORMANCE_COUNTERS_SQL],
69
+ ['current-activity', sqlServerDashboardQueries_1.SQLSERVER_DASHBOARD_ACTIVITY_SQL],
70
+ ['wait-statistics', sqlServerDashboardQueries_1.SQLSERVER_DASHBOARD_WAIT_STATS_SQL],
71
+ ['file-io', sqlServerDashboardQueries_1.SQLSERVER_DASHBOARD_FILE_IO_SQL],
72
+ ['database-files', sqlServerDashboardQueries_1.SQLSERVER_DASHBOARD_DATABASE_FILES_SQL],
73
+ ];
74
+ for (const [id, sql] of probes) {
75
+ try {
76
+ yield this.driver.requestSql({ sql, conditions: { rawQueries: true } });
77
+ probeResults.set(id, true);
78
+ }
79
+ catch (error) {
80
+ probeResults.set(id, false);
81
+ console.error(`[SQLServerRdbDashboardProvider:${id}Probe]`, error);
82
+ }
83
+ }
84
+ let queryStatisticsAvailable = false;
85
+ try {
86
+ queryStatisticsAvailable = (yield this.driver.checkStatementStatisticsAvailability(target.databaseName)).ok;
87
+ }
88
+ catch (error) {
89
+ console.error('[SQLServerRdbDashboardProvider:queryStatisticsProbe]', error);
90
+ }
91
+ const section = (sectionId, scope, requiredPermissions) => {
92
+ const available = probeResults.get(sectionId) === true;
93
+ return Object.assign({ sectionId, status: sectionId === 'current-activity' && available && !hasServerVisibility
94
+ ? 'partial'
95
+ : available
96
+ ? 'available'
97
+ : 'unavailable', scope }, (!available
98
+ ? Object.assign({ reasonCode: 'dmv-unavailable', message: `${sectionId} is unavailable with the current edition or permissions.` }, (requiredPermissions ? { requiredPermissions } : {})) : sectionId === 'current-activity' && !hasServerVisibility
99
+ ? {
100
+ reasonCode: 'limited-session-visibility',
101
+ message: 'Current request counts can be limited to sessions visible to this login.',
102
+ requiredPermissions: ['VIEW SERVER STATE or VIEW SERVER PERFORMANCE STATE'],
103
+ }
104
+ : {}));
105
+ };
106
+ const serverPermission = ['VIEW SERVER STATE (SQL Server 2019 or earlier) or VIEW SERVER PERFORMANCE STATE (SQL Server 2022+)'];
107
+ const capabilities = {
108
+ providerId: this.providerId,
109
+ variant,
110
+ serverVersion: String((_b = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'server_version')) !== null && _b !== void 0 ? _b : ''),
111
+ observerIdentity: String((_c = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'observer_session_id')) !== null && _c !== void 0 ? _c : ''),
112
+ sections: [
113
+ section('performance-counters', serverScope, serverPermission),
114
+ section('current-activity', databaseScope, serverPermission),
115
+ section('wait-statistics', serverScope, serverPermission),
116
+ section('file-io', databaseScope, serverPermission),
117
+ section('database-files', databaseScope),
118
+ Object.assign({ sectionId: 'query-statistics', status: queryStatisticsAvailable ? 'available' : 'unavailable', scope: databaseScope }, (!queryStatisticsAvailable
119
+ ? {
120
+ reasonCode: 'query-store-unavailable',
121
+ message: 'Query Store is disabled or unavailable with the current database permissions.',
122
+ requiredPermissions: [
123
+ 'VIEW DATABASE STATE or VIEW DATABASE PERFORMANCE STATE (SQL Server 2022+)',
124
+ ],
125
+ }
126
+ : {
127
+ message: 'Query statistics are provided by the existing SQL Server Query Store integration.',
128
+ })),
129
+ ],
130
+ };
131
+ this.capabilitiesByResourceKey.set(target.resourceKey, capabilities);
132
+ return (0, rdbDashboardValueUtils_1.dashboardSuccess)(capabilities);
133
+ }
134
+ catch (error) {
135
+ console.error('[SQLServerRdbDashboardProvider:checkCapabilities]', error);
136
+ return { ok: false, message: 'SQL Server dashboard capabilities could not be checked.' };
137
+ }
138
+ });
139
+ }
140
+ resolveDashboard(target, _selection, options) {
141
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
142
+ let capabilities = this.capabilitiesByResourceKey.get(target.resourceKey);
143
+ if (!capabilities) {
144
+ const checked = yield this.checkCapabilities(target, options);
145
+ if (!checked.ok || !checked.result)
146
+ return { ok: false, message: checked.message };
147
+ capabilities = checked.result;
148
+ }
149
+ return (0, rdbDashboardValueUtils_1.dashboardSuccess)((0, sqlServerDashboardCatalog_1.resolveSqlServerDashboard)(target, capabilities));
150
+ });
151
+ }
152
+ collectSample(request, _options) {
153
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
154
+ var _a;
155
+ const collectionStartedAt = new Date().toISOString();
156
+ const requested = new Set(request.metricIds);
157
+ const observations = [];
158
+ const diagnostics = [];
159
+ let observedAt = collectionStartedAt;
160
+ let epoch = (_a = this.epochByResourceKey.get(request.target.resourceKey)) !== null && _a !== void 0 ? _a : 'unknown';
161
+ yield this.collectGroup('performance-counters', sqlServerDashboardQueries_1.SQLSERVER_DASHBOARD_PERFORMANCE_COUNTERS_SQL, PERFORMANCE_METRIC_IDS, requested, observations, diagnostics, (rows) => {
162
+ var _a;
163
+ observedAt = new Date().toISOString();
164
+ const startTime = iso((0, rdbDashboardValueUtils_1.dashboardRowValue)((_a = rows[0]) !== null && _a !== void 0 ? _a : {}, 'sqlserver_start_time'));
165
+ if (startTime) {
166
+ epoch = startTime;
167
+ this.epochByResourceKey.set(request.target.resourceKey, startTime);
168
+ }
169
+ for (const row of rows)
170
+ this.appendPerformanceCounter(row, request.target.databaseName, requested, observations, diagnostics, observedAt);
171
+ });
172
+ yield this.collectGroup('current-activity', sqlServerDashboardQueries_1.SQLSERVER_DASHBOARD_ACTIVITY_SQL, ACTIVITY_METRIC_IDS, requested, observations, diagnostics, (rows) => {
173
+ var _a;
174
+ const row = rows[0];
175
+ if (!row)
176
+ return;
177
+ observedAt = (_a = iso((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'observed_at'))) !== null && _a !== void 0 ? _a : new Date().toISOString();
178
+ for (const metricId of ACTIVITY_METRIC_IDS) {
179
+ if (requested.has(metricId))
180
+ observations.push({ metricId, observedAt, value: (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, metricId)), status: 'ok' });
181
+ }
182
+ });
183
+ yield this.collectGroup('wait-statistics', sqlServerDashboardQueries_1.SQLSERVER_DASHBOARD_WAIT_STATS_SQL, ['wait_time'], requested, observations, diagnostics, (rows) => {
184
+ var _a;
185
+ observedAt = new Date().toISOString();
186
+ for (const row of rows) {
187
+ observations.push({ metricId: 'wait_time', observedAt, value: (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'wait_time_ms')), dimensions: { waitCategory: String((_a = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'wait_category')) !== null && _a !== void 0 ? _a : 'Other') }, status: 'ok' });
188
+ }
189
+ });
190
+ yield this.collectGroup('file-io', sqlServerDashboardQueries_1.SQLSERVER_DASHBOARD_FILE_IO_SQL, FILE_IO_METRIC_IDS, requested, observations, diagnostics, (rows) => {
191
+ var _a, _b;
192
+ observedAt = new Date().toISOString();
193
+ for (const row of rows) {
194
+ const dimensions = { fileName: String((_a = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'file_name')) !== null && _a !== void 0 ? _a : ''), fileType: String((_b = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'file_type')) !== null && _b !== void 0 ? _b : 'other') };
195
+ for (const metricId of FILE_IO_METRIC_IDS) {
196
+ if (requested.has(metricId))
197
+ observations.push({ metricId, observedAt, value: (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, metricId)), dimensions, status: 'ok' });
198
+ }
199
+ }
200
+ });
201
+ yield this.collectGroup('database-files', sqlServerDashboardQueries_1.SQLSERVER_DASHBOARD_DATABASE_FILES_SQL, DATABASE_FILE_METRIC_IDS, requested, observations, diagnostics, (rows) => {
202
+ var _a, _b;
203
+ observedAt = new Date().toISOString();
204
+ for (const row of rows) {
205
+ const dimensions = { fileName: String((_a = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'file_name')) !== null && _a !== void 0 ? _a : ''), fileType: String((_b = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'file_type')) !== null && _b !== void 0 ? _b : 'other') };
206
+ for (const metricId of DATABASE_FILE_METRIC_IDS) {
207
+ if (requested.has(metricId)) {
208
+ const value = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, metricId));
209
+ observations.push({
210
+ metricId,
211
+ observedAt,
212
+ value,
213
+ dimensions,
214
+ status: value === null ? 'unavailable' : 'ok',
215
+ });
216
+ }
217
+ }
218
+ }
219
+ });
220
+ return (0, rdbDashboardValueUtils_1.dashboardSuccess)({
221
+ sampleSessionId: request.sampleSessionId,
222
+ definitionVersion: request.definitionVersion,
223
+ sequence: request.sequence,
224
+ collectionStartedAt,
225
+ collectionEndedAt: new Date().toISOString(),
226
+ epochs: [{ key: 'sqlserver-start-time', value: epoch, reasonLabel: 'SQL Server service restart or DMV counter reset' }],
227
+ observations,
228
+ diagnostics,
229
+ });
230
+ });
231
+ }
232
+ appendPerformanceCounter(row, databaseName, requested, observations, diagnostics, observedAt) {
233
+ var _a, _b;
234
+ const counterName = String((_a = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'counter_name')) !== null && _a !== void 0 ? _a : '').trim().toLowerCase();
235
+ const metricId = PERF_COUNTER_TO_METRIC[counterName];
236
+ if (!metricId || !requested.has(metricId))
237
+ return;
238
+ const instanceName = String((_b = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'instance_name')) !== null && _b !== void 0 ? _b : '').trim();
239
+ if (metricId === 'transactions' && instanceName.toLowerCase() !== databaseName.toLowerCase())
240
+ return;
241
+ if (metricId === 'lock_waits' && instanceName !== '_Total')
242
+ return;
243
+ const cntrType = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'cntr_type'));
244
+ const expectedGauge = metricId === 'user_connections' || metricId === 'page_life_expectancy';
245
+ const expectedFraction = metricId === 'buffer_cache_hits';
246
+ const expectedBase = metricId === 'buffer_cache_lookups';
247
+ const supported = cntrType !== null &&
248
+ (expectedGauge
249
+ ? GAUGE_COUNTER_TYPES.has(cntrType)
250
+ : expectedFraction
251
+ ? cntrType === 537003264
252
+ : expectedBase
253
+ ? cntrType === 1073939712
254
+ : RATE_COUNTER_TYPES.has(cntrType));
255
+ if (!supported) {
256
+ observations.push({ metricId, observedAt, value: null, status: 'unavailable', messageCode: 'unsupported-counter-type' });
257
+ if (!diagnostics.some((it) => it.code === 'unsupported-counter-type'))
258
+ diagnostics.push({ sectionId: 'performance-counters', severity: 'warning', code: 'unsupported-counter-type', message: 'A SQL Server performance counter used an unsupported cntr_type and was not interpreted.' });
259
+ return;
260
+ }
261
+ observations.push(Object.assign(Object.assign({ metricId,
262
+ observedAt, value: (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'cntr_value')) }, (metricId === 'page_life_expectancy' ? { dimensions: { instanceName: instanceName || 'default' } } : {})), { status: 'ok' }));
263
+ }
264
+ collectGroup(sectionId, sql, metricIds, requested, observations, diagnostics, append) {
265
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
266
+ const selected = metricIds.filter((id) => requested.has(id));
267
+ if (selected.length === 0)
268
+ return;
269
+ try {
270
+ const result = yield this.driver.requestSql({ sql, conditions: { rawQueries: true } });
271
+ const before = new Map(selected.map((metricId) => [
272
+ metricId,
273
+ observations.filter((item) => item.metricId === metricId).length,
274
+ ]));
275
+ append(result.rows.map((item) => item.values));
276
+ const at = new Date().toISOString();
277
+ for (const metricId of selected) {
278
+ const count = observations.filter((item) => item.metricId === metricId).length;
279
+ if (count === before.get(metricId)) {
280
+ observations.push({
281
+ metricId,
282
+ observedAt: at,
283
+ value: null,
284
+ status: 'unavailable',
285
+ messageCode: 'metric-row-unavailable',
286
+ });
287
+ }
288
+ }
289
+ }
290
+ catch (error) {
291
+ console.error(`[SQLServerRdbDashboardProvider:${sectionId}Sample]`, error);
292
+ diagnostics.push({ sectionId, severity: 'warning', code: `${sectionId}-failed`, message: `SQL Server ${sectionId} metrics could not be collected.` });
293
+ const at = new Date().toISOString();
294
+ for (const metricId of selected)
295
+ observations.push({ metricId, observedAt: at, value: null, status: 'failed' });
296
+ }
297
+ });
298
+ }
299
+ }
300
+ exports.SQLServerRdbDashboardProvider = SQLServerRdbDashboardProvider;
301
+ //# sourceMappingURL=SQLServerRdbDashboardProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLServerRdbDashboardProvider.js","sourceRoot":"","sources":["../../../../../../../src/drivers/providers/rdbDashboard/vendors/sqlserver/SQLServerRdbDashboardProvider.ts"],"names":[],"mappings":";;;;AAeA,yEAKsC;AACtC,2EAGqC;AACrC,2EAOqC;AAKrC,MAAM,sBAAsB,GAAqC;IAC/D,kBAAkB,EAAE,kBAAkB;IACtC,oBAAoB,EAAE,gBAAgB;IACtC,sBAAsB,EAAE,kBAAkB;IAC1C,yBAAyB,EAAE,oBAAoB;IAC/C,kBAAkB,EAAE,cAAc;IAClC,wBAAwB,EAAE,mBAAmB;IAC7C,6BAA6B,EAAE,sBAAsB;IACrD,sBAAsB,EAAE,sBAAsB;IAC9C,gBAAgB,EAAE,YAAY;CAC/B,CAAC;AAEF,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACrE,MAAM,mBAAmB,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,CAAU,CAAC;AAC7E,MAAM,kBAAkB,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,kBAAkB,CAAU,CAAC;AACzG,MAAM,wBAAwB,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,CAAU,CAAC;AACjF,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAC3D,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAE7C,SAAS,GAAG,CAAC,KAAc;IACzB,MAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1E,CAAC;AAED,SAAS,UAAU,CAAC,aAA4B;IAC9C,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,CAAC;YACJ,OAAO,oBAAoB,CAAC;QAC9B,KAAK,CAAC;YACJ,OAAO,4BAA4B,CAAC;QACtC;YACE,OAAO,WAAW,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAa,6BAA6B;IAKxC,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QAJzC,eAAU,GAAG,+DAAmC,CAAC;QAClD,8BAAyB,GAAG,IAAI,GAAG,EAAoC,CAAC;QACxE,uBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEF,CAAC;IAEhD,iBAAiB,CACrB,MAA0B,EAC1B,QAAkC;;;YAElC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;oBACxC,GAAG,EAAE,gEAAoC;oBACzC,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;iBACjC,CAAC,CAAC;gBACH,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,0CAAE,MAAyB,CAAC;gBACpD,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,IAAA,0CAAQ,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC3E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,gFAAgF,EAAE,CAAC;gBAClH,CAAC;gBAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAA,8CAAY,EAAC,IAAA,0CAAQ,EAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC1E,MAAM,aAAa,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;gBACrF,MAAM,WAAW,GAAG;oBAClB,IAAI,EAAE,OAAO,KAAK,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU;oBACvE,KAAK,EAAE,OAAO,KAAK,oBAAoB,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,qBAAqB;iBACrG,CAAC;gBACF,MAAM,mBAAmB,GACvB,IAAA,yCAAI,EAAC,IAAA,0CAAQ,EAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;oBAC5C,IAAA,yCAAI,EAAC,IAAA,0CAAQ,EAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC,CAAC;gBAE3D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAC;gBACjD,MAAM,MAAM,GAA6B;oBACvC,CAAC,sBAAsB,EAAE,wEAA4C,CAAC;oBACtE,CAAC,kBAAkB,EAAE,4DAAgC,CAAC;oBACtD,CAAC,iBAAiB,EAAE,8DAAkC,CAAC;oBACvD,CAAC,SAAS,EAAE,2DAA+B,CAAC;oBAC5C,CAAC,gBAAgB,EAAE,kEAAsC,CAAC;iBAC3D,CAAC;gBACF,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;wBACxE,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAC7B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;wBAG5B,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;gBACD,IAAI,wBAAwB,GAAG,KAAK,CAAC;gBACrC,IAAI,CAAC;oBACH,wBAAwB,GAAG,CACzB,MAAM,IAAI,CAAC,MAAM,CAAC,oCAAoC,CAAC,MAAM,CAAC,YAAY,CAAC,CAC5E,CAAC,EAAE,CAAC;gBACP,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAEf,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,KAAK,CAAC,CAAC;gBAC/E,CAAC;gBAED,MAAM,OAAO,GAAG,CACd,SAAkB,EAClB,KAAsC,EACtC,mBAA8B,EACC,EAAE;oBACjC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;oBACvD,uBACE,SAAS,EACT,MAAM,EACJ,SAAS,KAAK,kBAAkB,IAAI,SAAS,IAAI,CAAC,mBAAmB;4BACnE,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,SAAS;gCACT,CAAC,CAAC,WAAW;gCACb,CAAC,CAAC,aAAa,EACrB,KAAK,IACF,CAAC,CAAC,SAAS;wBACZ,CAAC,iBACG,UAAU,EAAE,iBAAiB,EAC7B,OAAO,EAAE,GAAG,SAAS,0DAA0D,IAC5E,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAE3D,CAAC,CAAC,SAAS,KAAK,kBAAkB,IAAI,CAAC,mBAAmB;wBACxD,CAAC,CAAC;4BACE,UAAU,EAAE,4BAA4B;4BACxC,OAAO,EAAE,0EAA0E;4BACnF,mBAAmB,EAAE,CAAC,oDAAoD,CAAC;yBAC5E;wBACH,CAAC,CAAC,EAAE,CAAC,EACT;gBACJ,CAAC,CAAC;gBAEF,MAAM,gBAAgB,GAAG,CAAC,oGAAoG,CAAC,CAAC;gBAChI,MAAM,YAAY,GAA6B;oBAC7C,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,OAAO;oBACP,aAAa,EAAE,MAAM,CAAC,MAAA,IAAA,0CAAQ,EAAC,GAAG,EAAE,gBAAgB,CAAC,mCAAI,EAAE,CAAC;oBAC5D,gBAAgB,EAAE,MAAM,CAAC,MAAA,IAAA,0CAAQ,EAAC,GAAG,EAAE,qBAAqB,CAAC,mCAAI,EAAE,CAAC;oBACpE,QAAQ,EAAE;wBACR,OAAO,CAAC,sBAAsB,EAAE,WAAW,EAAE,gBAAgB,CAAC;wBAC9D,OAAO,CAAC,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,CAAC;wBAC5D,OAAO,CAAC,iBAAiB,EAAE,WAAW,EAAE,gBAAgB,CAAC;wBACzD,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,CAAC;wBACnD,OAAO,CAAC,gBAAgB,EAAE,aAAa,CAAC;wCAEtC,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,wBAAwB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAC9D,KAAK,EAAE,aAAa,IACjB,CAAC,CAAC,wBAAwB;4BAC3B,CAAC,CAAC;gCACE,UAAU,EAAE,yBAAyB;gCACrC,OAAO,EACL,+EAA+E;gCACjF,mBAAmB,EAAE;oCACnB,2EAA2E;iCAC5E;6BACF;4BACH,CAAC,CAAC;gCACE,OAAO,EACL,mFAAmF;6BACtF,CAAC;qBAET;iBACF,CAAC;gBACF,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACrE,OAAO,IAAA,yCAAE,EAAC,YAAY,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;gBAC1E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,yDAAyD,EAAE,CAAC;YAC3F,CAAC;QACH,CAAC;KAAA;IAEK,gBAAgB,CACpB,MAA0B,EAC1B,UAAiC,EACjC,OAAiC;;YAEjC,IAAI,YAAY,GAAG,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC9D,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;oBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;gBACnF,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YAChC,CAAC;YACD,OAAO,IAAA,yCAAE,EAAC,IAAA,qDAAyB,EAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;QAC7D,CAAC;KAAA;IAEK,aAAa,CACjB,OAAyB,EACzB,QAAkC;;;YAElC,MAAM,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,YAAY,GAAwB,EAAE,CAAC;YAC7C,MAAM,WAAW,GAA0B,EAAE,CAAC;YAC9C,IAAI,UAAU,GAAG,mBAAmB,CAAC;YACrC,IAAI,KAAK,GAAG,MAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,mCAAI,SAAS,CAAC;YAEjF,MAAM,IAAI,CAAC,YAAY,CACrB,sBAAsB,EACtB,wEAA4C,EAC5C,sBAAsB,EACtB,SAAS,EACT,YAAY,EACZ,WAAW,EACX,CAAC,IAAI,EAAE,EAAE;;gBACP,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,GAAG,CAAC,IAAA,0CAAQ,EAAC,MAAA,IAAI,CAAC,CAAC,CAAC,mCAAI,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;gBACvE,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,GAAG,SAAS,CAAC;oBAClB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACrE,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,IAAI;oBAAE,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YAC5I,CAAC,CACF,CAAC;YAEF,MAAM,IAAI,CAAC,YAAY,CACrB,kBAAkB,EAAE,4DAAgC,EAAE,mBAAmB,EACzE,SAAS,EAAE,YAAY,EAAE,WAAW,EACpC,CAAC,IAAI,EAAE,EAAE;;gBACP,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,CAAC,GAAG;oBAAE,OAAO;gBACjB,UAAU,GAAG,MAAA,GAAG,CAAC,IAAA,0CAAQ,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC,mCAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC3E,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;oBAC3C,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;wBAAE,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,IAAA,8CAAY,EAAC,IAAA,0CAAQ,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvI,CAAC;YACH,CAAC,CACF,CAAC;YAEF,MAAM,IAAI,CAAC,YAAY,CACrB,iBAAiB,EAAE,8DAAkC,EAAE,CAAC,WAAW,CAAC,EACpE,SAAS,EAAE,YAAY,EAAE,WAAW,EACpC,CAAC,IAAI,EAAE,EAAE;;gBACP,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,IAAA,8CAAY,EAAC,IAAA,0CAAQ,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,MAAA,IAAA,0CAAQ,EAAC,GAAG,EAAE,eAAe,CAAC,mCAAI,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9M,CAAC;YACH,CAAC,CACF,CAAC;YAEF,MAAM,IAAI,CAAC,YAAY,CACrB,SAAS,EAAE,2DAA+B,EAAE,kBAAkB,EAC9D,SAAS,EAAE,YAAY,EAAE,WAAW,EACpC,CAAC,IAAI,EAAE,EAAE;;gBACP,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAA,IAAA,0CAAQ,EAAC,GAAG,EAAE,WAAW,CAAC,mCAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAA,IAAA,0CAAQ,EAAC,GAAG,EAAE,WAAW,CAAC,mCAAI,OAAO,CAAC,EAAE,CAAC;oBACnI,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;wBAC1C,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;4BAAE,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,IAAA,8CAAY,EAAC,IAAA,0CAAQ,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnJ,CAAC;gBACH,CAAC;YACH,CAAC,CACF,CAAC;YAEF,MAAM,IAAI,CAAC,YAAY,CACrB,gBAAgB,EAAE,kEAAsC,EAAE,wBAAwB,EAClF,SAAS,EAAE,YAAY,EAAE,WAAW,EACpC,CAAC,IAAI,EAAE,EAAE;;gBACP,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAA,IAAA,0CAAQ,EAAC,GAAG,EAAE,WAAW,CAAC,mCAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAA,IAAA,0CAAQ,EAAC,GAAG,EAAE,WAAW,CAAC,mCAAI,OAAO,CAAC,EAAE,CAAC;oBACnI,KAAK,MAAM,QAAQ,IAAI,wBAAwB,EAAE,CAAC;wBAChD,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC5B,MAAM,KAAK,GAAG,IAAA,8CAAY,EAAC,IAAA,0CAAQ,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;4BACpD,YAAY,CAAC,IAAI,CAAC;gCAChB,QAAQ;gCACR,UAAU;gCACV,KAAK;gCACL,UAAU;gCACV,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI;6BAC9C,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CACF,CAAC;YAEF,OAAO,IAAA,yCAAE,EAAC;gBACR,eAAe,EAAE,OAAO,CAAC,eAAe;gBACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,mBAAmB;gBACnB,iBAAiB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC3C,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,iDAAiD,EAAE,CAAC;gBACvH,YAAY;gBACZ,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;KAAA;IAEO,wBAAwB,CAC9B,GAAQ,EACR,YAAoB,EACpB,SAA8B,EAC9B,YAAiC,EACjC,WAAkC,EAClC,UAAkB;;QAElB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAA,IAAA,0CAAQ,EAAC,GAAG,EAAE,cAAc,CAAC,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO;QAClD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAA,IAAA,0CAAQ,EAAC,GAAG,EAAE,eAAe,CAAC,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzE,IAAI,QAAQ,KAAK,cAAc,IAAI,YAAY,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE;YAAE,OAAO;QACrG,IAAI,QAAQ,KAAK,YAAY,IAAI,YAAY,KAAK,QAAQ;YAAE,OAAO;QACnE,MAAM,QAAQ,GAAG,IAAA,8CAAY,EAAC,IAAA,0CAAQ,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,QAAQ,KAAK,kBAAkB,IAAI,QAAQ,KAAK,sBAAsB,CAAC;QAC7F,MAAM,gBAAgB,GAAG,QAAQ,KAAK,mBAAmB,CAAC;QAC1D,MAAM,YAAY,GAAG,QAAQ,KAAK,sBAAsB,CAAC;QACzD,MAAM,SAAS,GACb,QAAQ,KAAK,IAAI;YACjB,CAAC,aAAa;gBACZ,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACnC,CAAC,CAAC,gBAAgB;oBAChB,CAAC,CAAC,QAAQ,KAAK,SAAS;oBACxB,CAAC,CAAC,YAAY;wBACZ,CAAC,CAAC,QAAQ,KAAK,UAAU;wBACzB,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC,CAAC;YACzH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,0BAA0B,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,yFAAyF,EAAE,CAAC,CAAC;YAC1R,OAAO;QACT,CAAC;QACD,YAAY,CAAC,IAAI,+BACf,QAAQ;YACR,UAAU,EACV,KAAK,EAAE,IAAA,8CAAY,EAAC,IAAA,0CAAQ,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC,IAC7C,CAAC,QAAQ,KAAK,sBAAsB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,YAAY,IAAI,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC3G,MAAM,EAAE,IAAI,IACZ,CAAC;IACL,CAAC;IAEa,YAAY,CACxB,SAAkB,EAClB,GAAW,EACX,SAA4B,EAC5B,SAA8B,EAC9B,YAAiC,EACjC,WAAkC,EAClC,MAA6B;;YAE7B,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvF,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;oBACzB,QAAQ;oBACR,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM;iBACjE,CAAC,CACH,CAAC;gBACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAa,CAAC,CAAC,CAAC;gBACtD,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACpC,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;oBAChC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;oBAC/E,IAAI,KAAK,KAAK,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACnC,YAAY,CAAC,IAAI,CAAC;4BAChB,QAAQ;4BACR,UAAU,EAAE,EAAE;4BACd,KAAK,EAAE,IAAI;4BACX,MAAM,EAAE,aAAa;4BACrB,WAAW,EAAE,wBAAwB;yBACtC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,OAAO,CAAC,KAAK,CAAC,kCAAkC,SAAS,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC3E,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,SAAS,EAAE,OAAO,EAAE,cAAc,SAAS,kCAAkC,EAAE,CAAC,CAAC;gBACtJ,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACpC,KAAK,MAAM,QAAQ,IAAI,QAAQ;oBAAE,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAClH,CAAC;QACH,CAAC;KAAA;CACF;AA1UD,sEA0UC"}
@@ -0,0 +1,3 @@
1
+ export * from './SQLServerRdbDashboardProvider';
2
+ export * from './sqlServerDashboardCatalog';
3
+ export * from './sqlServerDashboardQueries';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./SQLServerRdbDashboardProvider"), exports);
5
+ tslib_1.__exportStar(require("./sqlServerDashboardCatalog"), exports);
6
+ tslib_1.__exportStar(require("./sqlServerDashboardQueries"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/drivers/providers/rdbDashboard/vendors/sqlserver/index.ts"],"names":[],"mappings":";;;AAAA,0EAAgD;AAChD,sEAA4C;AAC5C,sEAA4C"}
@@ -0,0 +1,4 @@
1
+ import { RdbDashboardCapabilities, RdbDashboardTarget, ResolvedRdbDashboard, ResolvedRdbMetric } from '../../../../../types/drivers/rdbDashboard';
2
+ export declare const SQLSERVER_RDB_DASHBOARD_PROVIDER_ID = "rdb.sqlserver.database";
3
+ export declare function sqlServerDashboardMetrics(databaseName: string, variant: string): ResolvedRdbMetric[];
4
+ export declare function resolveSqlServerDashboard(target: RdbDashboardTarget, capabilities: RdbDashboardCapabilities): ResolvedRdbDashboard;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLSERVER_RDB_DASHBOARD_PROVIDER_ID = void 0;
4
+ exports.sqlServerDashboardMetrics = sqlServerDashboardMetrics;
5
+ exports.resolveSqlServerDashboard = resolveSqlServerDashboard;
6
+ const rdbDashboard_1 = require("../../../../../types/drivers/rdbDashboard");
7
+ exports.SQLSERVER_RDB_DASHBOARD_PROVIDER_ID = 'rdb.sqlserver.database';
8
+ const serverScope = (variant) => ({
9
+ kind: variant === 'azure-sql-database' ? 'database-server' : 'instance',
10
+ label: variant === 'azure-sql-database' ? 'Azure SQL logical database scope' : 'SQL Server instance',
11
+ });
12
+ const databaseScope = (databaseName) => ({
13
+ kind: 'database',
14
+ label: `Database ${databaseName}`,
15
+ });
16
+ function sqlServerDashboardMetrics(databaseName, variant) {
17
+ const global = serverScope(variant);
18
+ const database = databaseScope(databaseName);
19
+ const serverCounter = (id, label, unit) => ({
20
+ id,
21
+ label,
22
+ unit,
23
+ scope: global,
24
+ measurement: { kind: 'cumulative-counter', epochKey: 'sqlserver-start-time', presentation: 'rate' },
25
+ selfObservation: 'included',
26
+ });
27
+ const databaseCounter = (id, label, unit) => ({
28
+ id,
29
+ label,
30
+ unit,
31
+ scope: database,
32
+ measurement: { kind: 'cumulative-counter', epochKey: 'sqlserver-start-time', presentation: 'rate' },
33
+ selfObservation: 'included',
34
+ });
35
+ const fileCounter = (id, label, unit) => (Object.assign(Object.assign({}, databaseCounter(id, label, unit)), { dimensions: [{ key: 'fileName', label: 'File' }, { key: 'fileType', label: 'File type' }] }));
36
+ return [
37
+ { id: 'user_connections', label: 'User connections', unit: 'count', scope: global, measurement: { kind: 'gauge' } },
38
+ { id: 'active_requests', label: 'Active requests', unit: 'count', scope: database, measurement: { kind: 'gauge' }, selfObservation: 'excluded' },
39
+ { id: 'blocked_requests', label: 'Blocked requests', unit: 'count', scope: database, measurement: { kind: 'gauge' }, selfObservation: 'excluded' },
40
+ serverCounter('batch_requests', 'Batch requests', 'batches/s'),
41
+ serverCounter('sql_compilations', 'SQL compilations', 'compilations/s'),
42
+ serverCounter('sql_recompilations', 'SQL recompilations', 'recompilations/s'),
43
+ databaseCounter('transactions', 'Transactions', 'transactions/s'),
44
+ {
45
+ id: 'buffer_cache_hits', label: 'Buffer cache ratio numerator', unit: 'count', scope: global,
46
+ measurement: { kind: 'gauge' }, selfObservation: 'included',
47
+ },
48
+ {
49
+ id: 'buffer_cache_lookups', label: 'Buffer cache ratio base', unit: 'count', scope: global,
50
+ measurement: { kind: 'gauge' }, selfObservation: 'included',
51
+ },
52
+ {
53
+ id: 'buffer_cache_hit_ratio', label: 'Buffer cache hit ratio', unit: 'percent', scope: global,
54
+ measurement: { kind: 'derived', formula: { kind: 'raw-ratio', numeratorId: 'buffer_cache_hits', denominatorId: 'buffer_cache_lookups', scale: 100 } },
55
+ caveat: 'Calculated from the paired PERF_RAW_FRACTION numerator and PERF_RAW_BASE in the same sample.',
56
+ },
57
+ {
58
+ id: 'page_life_expectancy', label: 'Page life expectancy', unit: 'seconds', scope: global,
59
+ measurement: { kind: 'gauge' }, dimensions: [{ key: 'instanceName', label: 'NUMA node / instance' }],
60
+ caveat: 'Interpret per NUMA node and workload; no fixed universal threshold is applied.',
61
+ },
62
+ Object.assign(Object.assign({}, serverCounter('lock_waits', 'Lock waits', 'waits/s')), { caveat: 'The SQLServer:Locks _Total counter is server-wide; use blocked requests for the selected database scope.' }),
63
+ {
64
+ id: 'wait_time', label: 'Wait time by category', unit: 'ms/s', scope: global,
65
+ measurement: { kind: 'cumulative-counter', epochKey: 'sqlserver-start-time', presentation: 'rate' },
66
+ dimensions: [{ key: 'waitCategory', label: 'Wait category' }], selfObservation: 'included',
67
+ },
68
+ fileCounter('file_reads', 'File reads', 'reads/s'),
69
+ fileCounter('file_writes', 'File writes', 'writes/s'),
70
+ fileCounter('file_read_stall', 'Read stall', 'ms/s'),
71
+ fileCounter('file_write_stall', 'Write stall', 'ms/s'),
72
+ {
73
+ id: 'file_read_latency', label: 'Read latency', unit: 'ms/read', scope: database,
74
+ measurement: { kind: 'derived', formula: { kind: 'average', totalId: 'file_read_stall', countId: 'file_reads', scale: 1 } },
75
+ dimensions: [{ key: 'fileName', label: 'File' }, { key: 'fileType', label: 'File type' }],
76
+ caveat: 'An interval with no read operations is unavailable, not zero.',
77
+ },
78
+ {
79
+ id: 'file_write_latency', label: 'Write latency', unit: 'ms/write', scope: database,
80
+ measurement: { kind: 'derived', formula: { kind: 'average', totalId: 'file_write_stall', countId: 'file_writes', scale: 1 } },
81
+ dimensions: [{ key: 'fileName', label: 'File' }, { key: 'fileType', label: 'File type' }],
82
+ caveat: 'An interval with no write operations is unavailable, not zero.',
83
+ },
84
+ {
85
+ id: 'file_size_bytes', label: 'Allocated file size', unit: 'bytes', scope: database,
86
+ measurement: { kind: 'snapshot' }, dimensions: [{ key: 'fileName', label: 'File' }, { key: 'fileType', label: 'File type' }],
87
+ },
88
+ {
89
+ id: 'file_used_bytes', label: 'Used data-file space', unit: 'bytes', scope: database,
90
+ measurement: { kind: 'snapshot' }, dimensions: [{ key: 'fileName', label: 'File' }, { key: 'fileType', label: 'File type' }],
91
+ caveat: 'FILEPROPERTY SpaceUsed is available for data files; log used space is not represented here.',
92
+ },
93
+ ];
94
+ }
95
+ function resolveSqlServerDashboard(target, capabilities) {
96
+ const global = serverScope(capabilities.variant);
97
+ const database = databaseScope(target.databaseName);
98
+ const sectionAvailable = (id) => { var _a; return ((_a = capabilities.sections.find((it) => it.sectionId === id)) === null || _a === void 0 ? void 0 : _a.status) !== 'unavailable'; };
99
+ const panels = [
100
+ { id: 'connections', title: 'Connections and activity', purpose: 'workload', scope: database, visualization: 'line', metricIds: [...(sectionAvailable('performance-counters') ? ['user_connections'] : []), 'active_requests', 'blocked_requests'], sectionCapabilityId: 'current-activity', drilldownActions: [{ id: 'sessions', label: 'Open sessions', kind: 'open-sessions', enabled: true }, { id: 'locks', label: 'Open locks', kind: 'open-locks', enabled: true }] },
101
+ { id: 'workload', title: 'Batch and transaction activity', purpose: 'workload', scope: global, visualization: 'line', metricIds: ['batch_requests', 'sql_compilations', 'sql_recompilations', 'transactions'], sectionCapabilityId: 'performance-counters' },
102
+ { id: 'buffer-cache', title: 'Buffer cache', purpose: 'health', scope: global, visualization: 'line', metricIds: ['buffer_cache_hit_ratio', 'page_life_expectancy'], sectionCapabilityId: 'performance-counters' },
103
+ { id: 'locks', title: 'Locks and blocking', purpose: 'health', scope: global, visualization: 'line', metricIds: ['blocked_requests', 'lock_waits'], caveat: 'Blocked requests are scoped to the selected database; Lock waits is the server-wide _Total counter.', sectionCapabilityId: 'current-activity', drilldownActions: [{ id: 'locks', label: 'Open locks', kind: 'open-locks', enabled: true }] },
104
+ { id: 'waits', title: 'Top wait categories', purpose: 'health', scope: global, visualization: 'bar', metricIds: ['wait_time'], topN: 10, sectionCapabilityId: 'wait-statistics' },
105
+ { id: 'file-io', title: 'Database file I/O', purpose: 'health', scope: database, visualization: 'line', metricIds: ['file_reads', 'file_writes', 'file_read_latency', 'file_write_latency'], sectionCapabilityId: 'file-io' },
106
+ { id: 'file-capacity', title: 'Database files', purpose: 'capacity', scope: database, visualization: 'stat-grid', metricIds: ['file_size_bytes', 'file_used_bytes'], sectionCapabilityId: 'database-files' },
107
+ ];
108
+ return {
109
+ providerId: exports.SQLSERVER_RDB_DASHBOARD_PROVIDER_ID,
110
+ variant: capabilities.variant,
111
+ definitionVersion: 1,
112
+ target: { resourceKey: target.resourceKey, displayName: target.databaseName, sourceLabel: `${capabilities.variant === 'azure-sql-database' ? 'Azure SQL Database' : 'SQL Server'} ${capabilities.serverVersion}`, scope: database },
113
+ serverVersion: capabilities.serverVersion,
114
+ samplePolicy: rdbDashboard_1.DEFAULT_RDB_SAMPLE_POLICY,
115
+ metrics: sqlServerDashboardMetrics(target.databaseName, capabilities.variant),
116
+ tabs: [
117
+ { id: 'overview', title: 'Overview', timeMode: 'sampling-session', selectors: [], panels: [panels[0], panels[6]] },
118
+ { id: 'workload', title: 'Workload', timeMode: 'sampling-session', selectors: [], panels: [panels[1]] },
119
+ { id: 'waits', title: 'Waits and locks', timeMode: 'sampling-session', selectors: [], panels: [panels[3], panels[4]] },
120
+ { id: 'io', title: 'I/O and cache', timeMode: 'sampling-session', selectors: [], panels: [panels[2], panels[5]] },
121
+ ],
122
+ capabilities: capabilities.sections,
123
+ notices: [
124
+ { id: 'sampling-history', severity: 'info', title: 'On-demand DMV statistics', message: 'History starts when this dashboard is opened. Server-scoped values can include activity from other databases and clients.' },
125
+ { id: 'permissions', severity: 'info', title: 'SQL Server DMV permissions', message: 'SQL Server 2022 commonly requires VIEW SERVER PERFORMANCE STATE; earlier versions commonly require VIEW SERVER STATE. Sections remain available independently.' },
126
+ { id: 'self-observation', severity: 'info', title: 'Observer session', message: 'The observer session is excluded from current request counts. Its contribution to server counters cannot always be removed.' },
127
+ ],
128
+ };
129
+ }
130
+ //# sourceMappingURL=sqlServerDashboardCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlServerDashboardCatalog.js","sourceRoot":"","sources":["../../../../../../../src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardCatalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const SQLSERVER_DASHBOARD_CAPABILITIES_SQL = "\nSELECT\n DB_NAME() AS database_name,\n CAST(SERVERPROPERTY('ProductVersion') AS nvarchar(128)) AS server_version,\n CAST(SERVERPROPERTY('Edition') AS nvarchar(128)) AS edition,\n CAST(SERVERPROPERTY('EngineEdition') AS int) AS engine_edition,\n @@SPID AS observer_session_id,\n HAS_PERMS_BY_NAME(NULL, NULL, 'VIEW SERVER STATE') AS has_view_server_state,\n HAS_PERMS_BY_NAME(NULL, NULL, 'VIEW SERVER PERFORMANCE STATE') AS has_view_server_performance_state,\n HAS_PERMS_BY_NAME(DB_NAME(), 'DATABASE', 'VIEW DATABASE STATE') AS has_view_database_state";
2
+ export declare const SQLSERVER_DASHBOARD_PERFORMANCE_COUNTERS_SQL = "\nSELECT\n RTRIM(pc.object_name) AS object_name,\n RTRIM(pc.counter_name) AS counter_name,\n RTRIM(pc.instance_name) AS instance_name,\n CONVERT(float, pc.cntr_value) AS cntr_value,\n pc.cntr_type,\n si.sqlserver_start_time\nFROM sys.dm_os_performance_counters AS pc\nCROSS JOIN sys.dm_os_sys_info AS si\nWHERE pc.counter_name IN (\n 'User Connections',\n 'Batch Requests/sec',\n 'SQL Compilations/sec',\n 'SQL Re-Compilations/sec',\n 'Transactions/sec',\n 'Buffer cache hit ratio',\n 'Buffer cache hit ratio base',\n 'Page life expectancy',\n 'Lock Waits/sec'\n)";
3
+ export declare const SQLSERVER_DASHBOARD_ACTIVITY_SQL = "\nSELECT\n SYSUTCDATETIME() AS observed_at,\n COALESCE(SUM(CASE WHEN r.session_id <> @@SPID THEN 1 ELSE 0 END), 0) AS active_requests,\n COALESCE(SUM(CASE WHEN r.session_id <> @@SPID AND r.blocking_session_id > 0 THEN 1 ELSE 0 END), 0) AS blocked_requests\nFROM sys.dm_exec_requests AS r\nWHERE r.database_id = DB_ID()";
4
+ export declare const SQLSERVER_DASHBOARD_WAIT_STATS_SQL = "\nSELECT\n CASE\n WHEN wait_type LIKE 'LCK[_]%' THEN 'Locks'\n WHEN wait_type LIKE 'PAGEIOLATCH[_]%' OR wait_type LIKE 'IO_COMPLETION%' THEN 'Data file I/O'\n WHEN wait_type LIKE 'WRITELOG%' THEN 'Log I/O'\n WHEN wait_type LIKE 'PAGELATCH[_]%' THEN 'Buffer latch'\n WHEN wait_type LIKE 'CXPACKET%' OR wait_type LIKE 'CXCONSUMER%' THEN 'Parallelism'\n WHEN wait_type LIKE 'ASYNC_NETWORK_IO%' THEN 'Client/network'\n WHEN wait_type LIKE 'RESOURCE_SEMAPHORE%' THEN 'Memory grant'\n ELSE 'Other'\n END AS wait_category,\n CONVERT(float, SUM(wait_time_ms)) AS wait_time_ms\nFROM sys.dm_os_wait_stats\nWHERE wait_type NOT IN (\n 'BROKER_EVENTHANDLER', 'BROKER_RECEIVE_WAITFOR', 'BROKER_TASK_STOP',\n 'CHECKPOINT_QUEUE', 'CLR_AUTO_EVENT', 'CLR_MANUAL_EVENT', 'DIRTY_PAGE_POLL',\n 'DISPATCHER_QUEUE_SEMAPHORE', 'FT_IFTS_SCHEDULER_IDLE_WAIT', 'HADR_FILESTREAM_IOMGR_IOCOMPLETION',\n 'LAZYWRITER_SLEEP', 'LOGMGR_QUEUE', 'ONDEMAND_TASK_QUEUE', 'QDS_PERSIST_TASK_MAIN_LOOP_SLEEP',\n 'REQUEST_FOR_DEADLOCK_SEARCH', 'SLEEP_TASK', 'SP_SERVER_DIAGNOSTICS_SLEEP',\n 'SQLTRACE_BUFFER_FLUSH', 'WAITFOR', 'XE_DISPATCHER_WAIT', 'XE_TIMER_EVENT'\n)\nGROUP BY CASE\n WHEN wait_type LIKE 'LCK[_]%' THEN 'Locks'\n WHEN wait_type LIKE 'PAGEIOLATCH[_]%' OR wait_type LIKE 'IO_COMPLETION%' THEN 'Data file I/O'\n WHEN wait_type LIKE 'WRITELOG%' THEN 'Log I/O'\n WHEN wait_type LIKE 'PAGELATCH[_]%' THEN 'Buffer latch'\n WHEN wait_type LIKE 'CXPACKET%' OR wait_type LIKE 'CXCONSUMER%' THEN 'Parallelism'\n WHEN wait_type LIKE 'ASYNC_NETWORK_IO%' THEN 'Client/network'\n WHEN wait_type LIKE 'RESOURCE_SEMAPHORE%' THEN 'Memory grant'\n ELSE 'Other'\nEND";
5
+ export declare const SQLSERVER_DASHBOARD_FILE_IO_SQL = "\nSELECT\n df.name AS file_name,\n CASE df.type WHEN 0 THEN 'data' WHEN 1 THEN 'log' ELSE 'other' END AS file_type,\n CONVERT(float, vfs.num_of_reads) AS file_reads,\n CONVERT(float, vfs.num_of_writes) AS file_writes,\n CONVERT(float, vfs.io_stall_read_ms) AS file_read_stall_ms,\n CONVERT(float, vfs.io_stall_write_ms) AS file_write_stall_ms\nFROM sys.dm_io_virtual_file_stats(DB_ID(), NULL) AS vfs\nJOIN sys.database_files AS df ON df.file_id = vfs.file_id";
6
+ export declare const SQLSERVER_DASHBOARD_DATABASE_FILES_SQL = "\nSELECT\n name AS file_name,\n CASE type WHEN 0 THEN 'data' WHEN 1 THEN 'log' ELSE 'other' END AS file_type,\n CONVERT(float, size) * 8192 AS file_size_bytes,\n CASE WHEN type = 0 THEN CONVERT(float, FILEPROPERTY(name, 'SpaceUsed')) * 8192 ELSE NULL END AS file_used_bytes\nFROM sys.database_files";
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLSERVER_DASHBOARD_DATABASE_FILES_SQL = exports.SQLSERVER_DASHBOARD_FILE_IO_SQL = exports.SQLSERVER_DASHBOARD_WAIT_STATS_SQL = exports.SQLSERVER_DASHBOARD_ACTIVITY_SQL = exports.SQLSERVER_DASHBOARD_PERFORMANCE_COUNTERS_SQL = exports.SQLSERVER_DASHBOARD_CAPABILITIES_SQL = void 0;
4
+ exports.SQLSERVER_DASHBOARD_CAPABILITIES_SQL = `
5
+ SELECT
6
+ DB_NAME() AS database_name,
7
+ CAST(SERVERPROPERTY('ProductVersion') AS nvarchar(128)) AS server_version,
8
+ CAST(SERVERPROPERTY('Edition') AS nvarchar(128)) AS edition,
9
+ CAST(SERVERPROPERTY('EngineEdition') AS int) AS engine_edition,
10
+ @@SPID AS observer_session_id,
11
+ HAS_PERMS_BY_NAME(NULL, NULL, 'VIEW SERVER STATE') AS has_view_server_state,
12
+ HAS_PERMS_BY_NAME(NULL, NULL, 'VIEW SERVER PERFORMANCE STATE') AS has_view_server_performance_state,
13
+ HAS_PERMS_BY_NAME(DB_NAME(), 'DATABASE', 'VIEW DATABASE STATE') AS has_view_database_state`;
14
+ exports.SQLSERVER_DASHBOARD_PERFORMANCE_COUNTERS_SQL = `
15
+ SELECT
16
+ RTRIM(pc.object_name) AS object_name,
17
+ RTRIM(pc.counter_name) AS counter_name,
18
+ RTRIM(pc.instance_name) AS instance_name,
19
+ CONVERT(float, pc.cntr_value) AS cntr_value,
20
+ pc.cntr_type,
21
+ si.sqlserver_start_time
22
+ FROM sys.dm_os_performance_counters AS pc
23
+ CROSS JOIN sys.dm_os_sys_info AS si
24
+ WHERE pc.counter_name IN (
25
+ 'User Connections',
26
+ 'Batch Requests/sec',
27
+ 'SQL Compilations/sec',
28
+ 'SQL Re-Compilations/sec',
29
+ 'Transactions/sec',
30
+ 'Buffer cache hit ratio',
31
+ 'Buffer cache hit ratio base',
32
+ 'Page life expectancy',
33
+ 'Lock Waits/sec'
34
+ )`;
35
+ exports.SQLSERVER_DASHBOARD_ACTIVITY_SQL = `
36
+ SELECT
37
+ SYSUTCDATETIME() AS observed_at,
38
+ COALESCE(SUM(CASE WHEN r.session_id <> @@SPID THEN 1 ELSE 0 END), 0) AS active_requests,
39
+ COALESCE(SUM(CASE WHEN r.session_id <> @@SPID AND r.blocking_session_id > 0 THEN 1 ELSE 0 END), 0) AS blocked_requests
40
+ FROM sys.dm_exec_requests AS r
41
+ WHERE r.database_id = DB_ID()`;
42
+ exports.SQLSERVER_DASHBOARD_WAIT_STATS_SQL = `
43
+ SELECT
44
+ CASE
45
+ WHEN wait_type LIKE 'LCK[_]%' THEN 'Locks'
46
+ WHEN wait_type LIKE 'PAGEIOLATCH[_]%' OR wait_type LIKE 'IO_COMPLETION%' THEN 'Data file I/O'
47
+ WHEN wait_type LIKE 'WRITELOG%' THEN 'Log I/O'
48
+ WHEN wait_type LIKE 'PAGELATCH[_]%' THEN 'Buffer latch'
49
+ WHEN wait_type LIKE 'CXPACKET%' OR wait_type LIKE 'CXCONSUMER%' THEN 'Parallelism'
50
+ WHEN wait_type LIKE 'ASYNC_NETWORK_IO%' THEN 'Client/network'
51
+ WHEN wait_type LIKE 'RESOURCE_SEMAPHORE%' THEN 'Memory grant'
52
+ ELSE 'Other'
53
+ END AS wait_category,
54
+ CONVERT(float, SUM(wait_time_ms)) AS wait_time_ms
55
+ FROM sys.dm_os_wait_stats
56
+ WHERE wait_type NOT IN (
57
+ 'BROKER_EVENTHANDLER', 'BROKER_RECEIVE_WAITFOR', 'BROKER_TASK_STOP',
58
+ 'CHECKPOINT_QUEUE', 'CLR_AUTO_EVENT', 'CLR_MANUAL_EVENT', 'DIRTY_PAGE_POLL',
59
+ 'DISPATCHER_QUEUE_SEMAPHORE', 'FT_IFTS_SCHEDULER_IDLE_WAIT', 'HADR_FILESTREAM_IOMGR_IOCOMPLETION',
60
+ 'LAZYWRITER_SLEEP', 'LOGMGR_QUEUE', 'ONDEMAND_TASK_QUEUE', 'QDS_PERSIST_TASK_MAIN_LOOP_SLEEP',
61
+ 'REQUEST_FOR_DEADLOCK_SEARCH', 'SLEEP_TASK', 'SP_SERVER_DIAGNOSTICS_SLEEP',
62
+ 'SQLTRACE_BUFFER_FLUSH', 'WAITFOR', 'XE_DISPATCHER_WAIT', 'XE_TIMER_EVENT'
63
+ )
64
+ GROUP BY CASE
65
+ WHEN wait_type LIKE 'LCK[_]%' THEN 'Locks'
66
+ WHEN wait_type LIKE 'PAGEIOLATCH[_]%' OR wait_type LIKE 'IO_COMPLETION%' THEN 'Data file I/O'
67
+ WHEN wait_type LIKE 'WRITELOG%' THEN 'Log I/O'
68
+ WHEN wait_type LIKE 'PAGELATCH[_]%' THEN 'Buffer latch'
69
+ WHEN wait_type LIKE 'CXPACKET%' OR wait_type LIKE 'CXCONSUMER%' THEN 'Parallelism'
70
+ WHEN wait_type LIKE 'ASYNC_NETWORK_IO%' THEN 'Client/network'
71
+ WHEN wait_type LIKE 'RESOURCE_SEMAPHORE%' THEN 'Memory grant'
72
+ ELSE 'Other'
73
+ END`;
74
+ exports.SQLSERVER_DASHBOARD_FILE_IO_SQL = `
75
+ SELECT
76
+ df.name AS file_name,
77
+ CASE df.type WHEN 0 THEN 'data' WHEN 1 THEN 'log' ELSE 'other' END AS file_type,
78
+ CONVERT(float, vfs.num_of_reads) AS file_reads,
79
+ CONVERT(float, vfs.num_of_writes) AS file_writes,
80
+ CONVERT(float, vfs.io_stall_read_ms) AS file_read_stall_ms,
81
+ CONVERT(float, vfs.io_stall_write_ms) AS file_write_stall_ms
82
+ FROM sys.dm_io_virtual_file_stats(DB_ID(), NULL) AS vfs
83
+ JOIN sys.database_files AS df ON df.file_id = vfs.file_id`;
84
+ exports.SQLSERVER_DASHBOARD_DATABASE_FILES_SQL = `
85
+ SELECT
86
+ name AS file_name,
87
+ CASE type WHEN 0 THEN 'data' WHEN 1 THEN 'log' ELSE 'other' END AS file_type,
88
+ CONVERT(float, size) * 8192 AS file_size_bytes,
89
+ CASE WHEN type = 0 THEN CONVERT(float, FILEPROPERTY(name, 'SpaceUsed')) * 8192 ELSE NULL END AS file_used_bytes
90
+ FROM sys.database_files`;
91
+ //# sourceMappingURL=sqlServerDashboardQueries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlServerDashboardQueries.js","sourceRoot":"","sources":["../../../../../../../src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardQueries.ts"],"names":[],"mappings":";;;AAAa,QAAA,oCAAoC,GAAG;;;;;;;;;6FASyC,CAAC;AAEjF,QAAA,4CAA4C,GAAG;;;;;;;;;;;;;;;;;;;;EAoB1D,CAAC;AAEU,QAAA,gCAAgC,GAAG;;;;;;8BAMlB,CAAC;AAGlB,QAAA,kCAAkC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+B9C,CAAC;AAEQ,QAAA,+BAA+B,GAAG;;;;;;;;;0DASW,CAAC;AAE9C,QAAA,sCAAsC,GAAG;;;;;;wBAM9B,CAAC"}