@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,420 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OracleRdbDashboardProvider = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const rdbDashboardValueUtils_1 = require("../../rdbDashboardValueUtils");
6
+ const oracleDashboardCatalog_1 = require("./oracleDashboardCatalog");
7
+ const oracleDashboardQueries_1 = require("./oracleDashboardQueries");
8
+ const NATIVE_NAME_TO_METRIC = {
9
+ 'user calls per sec': 'user_calls',
10
+ 'executions per sec': 'executions',
11
+ 'database time per sec': 'database_time',
12
+ 'cpu usage per sec': 'cpu_usage',
13
+ 'logical reads per sec': 'logical_reads',
14
+ 'physical reads per sec': 'physical_reads',
15
+ 'physical writes per sec': 'physical_writes',
16
+ };
17
+ const SYSSTAT_NAME_TO_METRIC = {
18
+ 'user calls': 'user_calls',
19
+ 'execute count': 'executions',
20
+ 'session logical reads': 'logical_reads',
21
+ 'physical reads': 'physical_reads',
22
+ 'physical writes': 'physical_writes',
23
+ };
24
+ const SAMPLED_METRIC_IDS = [
25
+ 'user_calls',
26
+ 'executions',
27
+ 'database_time',
28
+ 'cpu_usage',
29
+ 'logical_reads',
30
+ 'physical_reads',
31
+ 'physical_writes',
32
+ ];
33
+ const SESSION_METRIC_IDS = ['active_sessions', 'inactive_sessions', 'current_waits'];
34
+ const RESOURCE_METRIC_IDS = [
35
+ 'sessions_current',
36
+ 'sessions_limit',
37
+ 'processes_current',
38
+ 'processes_limit',
39
+ ];
40
+ function iso(value, fallback = new Date().toISOString()) {
41
+ const date = value instanceof Date ? value : new Date(String(value !== null && value !== void 0 ? value : ''));
42
+ return Number.isFinite(date.getTime()) ? date.toISOString() : fallback;
43
+ }
44
+ function contextVariant(containerId) {
45
+ if (containerId > 1)
46
+ return 'oracle-pdb';
47
+ if (containerId === 1)
48
+ return 'oracle-cdb-root';
49
+ return 'oracle-non-cdb';
50
+ }
51
+ class OracleRdbDashboardProvider {
52
+ constructor(driver) {
53
+ this.driver = driver;
54
+ this.providerId = oracleDashboardCatalog_1.ORACLE_RDB_DASHBOARD_PROVIDER_ID;
55
+ this.capabilitiesByResourceKey = new Map();
56
+ this.contextByResourceKey = new Map();
57
+ this.nativeGroupByResourceKey = new Map();
58
+ this.epochByResourceKey = new Map();
59
+ }
60
+ checkCapabilities(target, _options) {
61
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
62
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
63
+ try {
64
+ const base = yield this.driver.requestSql({
65
+ sql: oracleDashboardQueries_1.ORACLE_DASHBOARD_CONTEXT_SQL,
66
+ conditions: { rawQueries: true },
67
+ });
68
+ const row = (_a = base.rows[0]) === null || _a === void 0 ? void 0 : _a.values;
69
+ if (!row || String((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'DATABASE_NAME')).toUpperCase() !== target.databaseName.toUpperCase()) {
70
+ return {
71
+ ok: false,
72
+ message: 'The observer connection is not connected to the requested Oracle database or PDB.',
73
+ };
74
+ }
75
+ const containerId = (_b = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'CONTAINER_ID'))) !== null && _b !== void 0 ? _b : 0;
76
+ const nativeSql = containerId > 1
77
+ ? oracleDashboardQueries_1.ORACLE_DASHBOARD_PDB_SYSMETRIC_SQL
78
+ : oracleDashboardQueries_1.ORACLE_DASHBOARD_INSTANCE_SYSMETRIC_SQL;
79
+ let nativeRows = [];
80
+ let nativeProbeFailed = false;
81
+ try {
82
+ const result = yield this.driver.requestSql({
83
+ sql: nativeSql,
84
+ conditions: { rawQueries: true },
85
+ });
86
+ nativeRows = result.rows.map((item) => item.values);
87
+ }
88
+ catch (error) {
89
+ nativeProbeFailed = true;
90
+ console.error('[OracleRdbDashboardProvider:nativeMetricsProbe]', error);
91
+ }
92
+ const selectedNativeRows = this.selectNativeRows(nativeRows, containerId);
93
+ const nativeMetricNames = new Set(selectedNativeRows.map((item) => String((0, rdbDashboardValueUtils_1.dashboardRowValue)(item, 'METRIC_NAME')).toLowerCase()));
94
+ const nativeMetricsAvailable = selectedNativeRows.length > 0;
95
+ const interval = (_d = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)((_c = selectedNativeRows[0]) !== null && _c !== void 0 ? _c : {}, 'INTSIZE_CSEC'))) !== null && _d !== void 0 ? _d : 6000;
96
+ const nativeIntervalSeconds = Math.max(1, Math.round(interval / 100));
97
+ const nativeGroup = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)((_e = selectedNativeRows[0]) !== null && _e !== void 0 ? _e : {}, 'GROUP_ID'));
98
+ if (nativeGroup !== null)
99
+ this.nativeGroupByResourceKey.set(target.resourceKey, nativeGroup);
100
+ const context = {
101
+ containerId,
102
+ containerName: String((_f = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'CONTAINER_NAME')) !== null && _f !== void 0 ? _f : target.databaseName),
103
+ instanceName: String((_g = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'INSTANCE_NAME')) !== null && _g !== void 0 ? _g : 'unknown'),
104
+ nativeMetricsAvailable,
105
+ nativeIntervalSeconds,
106
+ };
107
+ const connectionScope = (0, oracleDashboardCatalog_1.oracleConnectionScope)(context);
108
+ const instanceScope = { kind: 'instance', label: `Oracle instance ${context.instanceName}` };
109
+ const probe = (sectionId_1, sql_1, scope_1, ...args_1) => tslib_1.__awaiter(this, [sectionId_1, sql_1, scope_1, ...args_1], void 0, function* (sectionId, sql, scope, requireRows = false) {
110
+ try {
111
+ const result = yield this.driver.requestSql({ sql, conditions: { rawQueries: true } });
112
+ if (requireRows && result.rows.length === 0) {
113
+ return {
114
+ sectionId,
115
+ status: 'unavailable',
116
+ scope,
117
+ reasonCode: 'no-visible-rows',
118
+ message: `${sectionId} returned no rows in the current Oracle container.`,
119
+ };
120
+ }
121
+ return { sectionId, status: 'available', scope };
122
+ }
123
+ catch (error) {
124
+ console.error(`[OracleRdbDashboardProvider:${sectionId}Probe]`, error);
125
+ return {
126
+ sectionId,
127
+ status: 'unavailable',
128
+ scope,
129
+ reasonCode: 'dynamic-performance-view-unavailable',
130
+ message: `${sectionId} is unavailable with the current Oracle grants.`,
131
+ requiredPermissions: ['SELECT_CATALOG_ROLE or an explicit SELECT grant on the required V$ view'],
132
+ };
133
+ }
134
+ });
135
+ const [sessions, resourceLimits, systemEvents, systemStatistics] = yield Promise.all([
136
+ probe('sessions', oracleDashboardQueries_1.ORACLE_DASHBOARD_SESSIONS_SQL, connectionScope),
137
+ probe('resource-limits', oracleDashboardQueries_1.ORACLE_DASHBOARD_RESOURCE_LIMIT_SQL, instanceScope, true),
138
+ probe('system-events', oracleDashboardQueries_1.ORACLE_DASHBOARD_SYSTEM_EVENT_SQL, containerId > 1 ? connectionScope : instanceScope),
139
+ probe('system-statistics', oracleDashboardQueries_1.ORACLE_DASHBOARD_SYSSTAT_SQL, containerId > 1 ? connectionScope : instanceScope, true),
140
+ ]);
141
+ let queryStatisticsAvailable = false;
142
+ try {
143
+ queryStatisticsAvailable = (yield this.driver.checkStatementStatisticsAvailability(target.databaseName)).ok;
144
+ }
145
+ catch (error) {
146
+ console.error('[OracleRdbDashboardProvider:queryStatisticsProbe]', error);
147
+ }
148
+ const nativeStatus = nativeMetricsAvailable
149
+ ? nativeMetricNames.size === Object.keys(NATIVE_NAME_TO_METRIC).length
150
+ ? 'available'
151
+ : 'partial'
152
+ : 'unavailable';
153
+ const capabilities = {
154
+ providerId: this.providerId,
155
+ variant: contextVariant(containerId),
156
+ serverVersion: String((_h = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'SERVER_VERSION')) !== null && _h !== void 0 ? _h : ''),
157
+ observerIdentity: String((_j = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'OBSERVER_SID')) !== null && _j !== void 0 ? _j : ''),
158
+ sections: [
159
+ Object.assign({ sectionId: 'native-metrics', status: nativeStatus, scope: containerId > 1 ? connectionScope : instanceScope }, (nativeStatus !== 'available'
160
+ ? {
161
+ reasonCode: nativeProbeFailed
162
+ ? 'dynamic-performance-view-unavailable'
163
+ : 'native-metrics-missing',
164
+ message: nativeProbeFailed
165
+ ? 'Oracle native metrics are unavailable with the current grants.'
166
+ : 'Oracle returned no complete native metric group; V$SYSSTAT fallback is used.',
167
+ }
168
+ : {})),
169
+ sessions,
170
+ resourceLimits,
171
+ systemEvents,
172
+ systemStatistics,
173
+ {
174
+ sectionId: 'native-history',
175
+ status: 'unavailable',
176
+ scope: containerId > 1 ? connectionScope : instanceScope,
177
+ reasonCode: 'license-safe-baseline',
178
+ message: 'V$SYSMETRIC_HISTORY is intentionally not queried by the initial license-safe implementation.',
179
+ },
180
+ Object.assign({ sectionId: 'query-statistics', status: queryStatisticsAvailable ? 'available' : 'unavailable', scope: connectionScope }, (!queryStatisticsAvailable
181
+ ? {
182
+ reasonCode: 'v-sqlstats-unavailable',
183
+ message: 'V$SQLSTATS is unavailable with the current Oracle grants.',
184
+ requiredPermissions: ['SELECT on V$SQLSTATS'],
185
+ }
186
+ : {})),
187
+ ],
188
+ };
189
+ this.contextByResourceKey.set(target.resourceKey, context);
190
+ this.capabilitiesByResourceKey.set(target.resourceKey, capabilities);
191
+ return (0, rdbDashboardValueUtils_1.dashboardSuccess)(capabilities);
192
+ }
193
+ catch (error) {
194
+ console.error('[OracleRdbDashboardProvider:checkCapabilities]', error);
195
+ return { ok: false, message: 'Oracle dashboard capabilities could not be checked.' };
196
+ }
197
+ });
198
+ }
199
+ resolveDashboard(target, _selection, options) {
200
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
201
+ let capabilities = this.capabilitiesByResourceKey.get(target.resourceKey);
202
+ let context = this.contextByResourceKey.get(target.resourceKey);
203
+ if (!capabilities || !context) {
204
+ const checked = yield this.checkCapabilities(target, options);
205
+ if (!checked.ok || !checked.result)
206
+ return { ok: false, message: checked.message };
207
+ capabilities = checked.result;
208
+ context = this.contextByResourceKey.get(target.resourceKey);
209
+ }
210
+ if (!context)
211
+ return { ok: false, message: 'Oracle dashboard context was not resolved.' };
212
+ return (0, rdbDashboardValueUtils_1.dashboardSuccess)((0, oracleDashboardCatalog_1.resolveOracleDashboard)(target, capabilities, context));
213
+ });
214
+ }
215
+ collectSample(request, _options) {
216
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
217
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
218
+ const context = this.contextByResourceKey.get(request.target.resourceKey);
219
+ if (!context) {
220
+ return { ok: false, message: 'Oracle dashboard capabilities must be checked before sampling.' };
221
+ }
222
+ const collectionStartedAt = new Date().toISOString();
223
+ const requested = new Set(request.metricIds);
224
+ const observations = [];
225
+ const diagnostics = [];
226
+ let epoch = (_a = this.epochByResourceKey.get(request.target.resourceKey)) !== null && _a !== void 0 ? _a : 'unknown';
227
+ const sampledRequested = SAMPLED_METRIC_IDS.some((id) => requested.has(id));
228
+ const epochRequired = sampledRequested || requested.has('completed_wait_time');
229
+ let sysstatRows = [];
230
+ if (epochRequired) {
231
+ try {
232
+ const result = yield this.driver.requestSql({
233
+ sql: oracleDashboardQueries_1.ORACLE_DASHBOARD_SYSSTAT_SQL,
234
+ conditions: { rawQueries: true },
235
+ });
236
+ sysstatRows = result.rows.map((item) => item.values);
237
+ const startup = iso((0, rdbDashboardValueUtils_1.dashboardRowValue)((_b = sysstatRows[0]) !== null && _b !== void 0 ? _b : {}, 'STARTUP_TIME'), '');
238
+ if (startup) {
239
+ epoch = startup;
240
+ this.epochByResourceKey.set(request.target.resourceKey, startup);
241
+ }
242
+ }
243
+ catch (error) {
244
+ console.error('[OracleRdbDashboardProvider:systemStatisticsSample]', error);
245
+ diagnostics.push({ sectionId: 'system-statistics', severity: 'warning', code: 'system-statistics-failed', message: 'Oracle system statistics could not be collected.' });
246
+ }
247
+ }
248
+ if (sampledRequested) {
249
+ if (context.nativeMetricsAvailable) {
250
+ yield this.collectNativeMetrics(request, context, requested, observations, diagnostics);
251
+ }
252
+ else {
253
+ this.appendSysstatMetrics(context, sysstatRows, requested, observations);
254
+ }
255
+ this.appendMissing(SAMPLED_METRIC_IDS, requested, observations, 'metric-row-unavailable');
256
+ }
257
+ if (SESSION_METRIC_IDS.some((id) => requested.has(id))) {
258
+ try {
259
+ const result = yield this.driver.requestSql({
260
+ sql: oracleDashboardQueries_1.ORACLE_DASHBOARD_SESSIONS_SQL,
261
+ conditions: { rawQueries: true },
262
+ });
263
+ const rows = result.rows.map((item) => item.values);
264
+ const observedAt = iso((0, rdbDashboardValueUtils_1.dashboardRowValue)((_c = rows[0]) !== null && _c !== void 0 ? _c : {}, 'OBSERVED_AT'));
265
+ let active = 0;
266
+ let inactive = 0;
267
+ for (const row of rows) {
268
+ const count = (_d = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'SESSION_COUNT'))) !== null && _d !== void 0 ? _d : 0;
269
+ const status = String((_e = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'STATUS')) !== null && _e !== void 0 ? _e : '').toUpperCase();
270
+ if (status === 'ACTIVE')
271
+ active += count;
272
+ else
273
+ inactive += count;
274
+ const waitClass = String((_f = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'WAIT_CLASS')) !== null && _f !== void 0 ? _f : 'Other');
275
+ if (requested.has('current_waits') && status === 'ACTIVE' && waitClass !== 'Idle' && waitClass !== 'CPU') {
276
+ observations.push({ metricId: 'current_waits', observedAt, value: count, dimensions: { waitClass }, status: 'ok' });
277
+ }
278
+ }
279
+ if (requested.has('active_sessions'))
280
+ observations.push({ metricId: 'active_sessions', observedAt, value: active, status: 'ok' });
281
+ if (requested.has('inactive_sessions'))
282
+ observations.push({ metricId: 'inactive_sessions', observedAt, value: inactive, status: 'ok' });
283
+ if (requested.has('current_waits') && !observations.some((item) => item.metricId === 'current_waits')) {
284
+ observations.push({ metricId: 'current_waits', observedAt, value: 0, dimensions: { waitClass: 'None' }, status: 'ok' });
285
+ }
286
+ }
287
+ catch (error) {
288
+ this.failSection('sessions', SESSION_METRIC_IDS, requested, observations, diagnostics, error);
289
+ }
290
+ }
291
+ if (RESOURCE_METRIC_IDS.some((id) => requested.has(id))) {
292
+ try {
293
+ const result = yield this.driver.requestSql({
294
+ sql: oracleDashboardQueries_1.ORACLE_DASHBOARD_RESOURCE_LIMIT_SQL,
295
+ conditions: { rawQueries: true },
296
+ });
297
+ const observedAt = new Date().toISOString();
298
+ for (const item of result.rows) {
299
+ const row = item.values;
300
+ const resourceName = String((_g = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'RESOURCE_NAME')) !== null && _g !== void 0 ? _g : '').toLowerCase();
301
+ if (resourceName !== 'sessions' && resourceName !== 'processes')
302
+ continue;
303
+ const currentId = `${resourceName}_current`;
304
+ const limitId = `${resourceName}_limit`;
305
+ if (requested.has(currentId))
306
+ observations.push({ metricId: currentId, observedAt, value: (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'CURRENT_UTILIZATION')), status: 'ok' });
307
+ if (requested.has(limitId)) {
308
+ const limit = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'LIMIT_VALUE'));
309
+ observations.push(Object.assign({ metricId: limitId, observedAt, value: limit, status: limit === null ? 'unavailable' : 'ok' }, (limit === null ? { messageCode: 'unlimited-resource' } : {})));
310
+ }
311
+ }
312
+ this.appendMissing(RESOURCE_METRIC_IDS, requested, observations, 'resource-limit-unavailable');
313
+ }
314
+ catch (error) {
315
+ this.failSection('resource-limits', RESOURCE_METRIC_IDS, requested, observations, diagnostics, error);
316
+ }
317
+ }
318
+ if (requested.has('completed_wait_time')) {
319
+ try {
320
+ const result = yield this.driver.requestSql({
321
+ sql: oracleDashboardQueries_1.ORACLE_DASHBOARD_SYSTEM_EVENT_SQL,
322
+ conditions: { rawQueries: true },
323
+ });
324
+ const observedAt = new Date().toISOString();
325
+ for (const item of result.rows) {
326
+ const row = item.values;
327
+ const rowConId = (_h = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'CON_ID'))) !== null && _h !== void 0 ? _h : 0;
328
+ if (context.containerId > 1 ? rowConId !== context.containerId : rowConId !== 0)
329
+ continue;
330
+ const micros = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'TIME_WAITED_MICRO'));
331
+ observations.push({ metricId: 'completed_wait_time', observedAt, value: micros === null ? null : micros / 1000, dimensions: { waitClass: String((_j = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'WAIT_CLASS')) !== null && _j !== void 0 ? _j : 'Other') }, status: micros === null ? 'unavailable' : 'ok' });
332
+ }
333
+ this.appendMissing(['completed_wait_time'], requested, observations, 'wait-statistics-unavailable');
334
+ }
335
+ catch (error) {
336
+ this.failSection('system-events', ['completed_wait_time'], requested, observations, diagnostics, error);
337
+ }
338
+ }
339
+ return (0, rdbDashboardValueUtils_1.dashboardSuccess)({
340
+ sampleSessionId: request.sampleSessionId,
341
+ definitionVersion: request.definitionVersion,
342
+ sequence: request.sequence,
343
+ collectionStartedAt,
344
+ collectionEndedAt: new Date().toISOString(),
345
+ epochs: [{ key: 'oracle-instance-startup', value: epoch, reasonLabel: 'Oracle instance startup or dynamic statistic reset' }],
346
+ observations,
347
+ diagnostics,
348
+ });
349
+ });
350
+ }
351
+ collectNativeMetrics(request, context, requested, observations, diagnostics) {
352
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
353
+ var _a;
354
+ try {
355
+ const sql = context.containerId > 1 ? oracleDashboardQueries_1.ORACLE_DASHBOARD_PDB_SYSMETRIC_SQL : oracleDashboardQueries_1.ORACLE_DASHBOARD_INSTANCE_SYSMETRIC_SQL;
356
+ const result = yield this.driver.requestSql({ sql, conditions: { rawQueries: true } });
357
+ const rows = this.selectNativeRows(result.rows.map((item) => item.values), context.containerId, this.nativeGroupByResourceKey.get(request.target.resourceKey));
358
+ for (const row of rows) {
359
+ const metricId = NATIVE_NAME_TO_METRIC[String((_a = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'METRIC_NAME')) !== null && _a !== void 0 ? _a : '').toLowerCase()];
360
+ if (!metricId || !requested.has(metricId))
361
+ continue;
362
+ const value = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'VALUE'));
363
+ observations.push({ metricId, observedAt: iso((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'END_TIME')), value, status: value === null ? 'unavailable' : 'ok' });
364
+ }
365
+ }
366
+ catch (error) {
367
+ this.failSection('native-metrics', SAMPLED_METRIC_IDS, requested, observations, diagnostics, error);
368
+ }
369
+ });
370
+ }
371
+ appendSysstatMetrics(context, rows, requested, observations) {
372
+ var _a, _b;
373
+ const observedAt = new Date().toISOString();
374
+ for (const row of rows) {
375
+ const rowConId = (_a = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'CON_ID'))) !== null && _a !== void 0 ? _a : 0;
376
+ if (context.containerId > 1 ? rowConId !== context.containerId : rowConId !== 0)
377
+ continue;
378
+ const metricId = SYSSTAT_NAME_TO_METRIC[String((_b = (0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'NAME')) !== null && _b !== void 0 ? _b : '').toLowerCase()];
379
+ if (!metricId || !requested.has(metricId))
380
+ continue;
381
+ const value = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'VALUE'));
382
+ observations.push({ metricId, observedAt, value, status: value === null ? 'unavailable' : 'ok' });
383
+ }
384
+ }
385
+ selectNativeRows(rows, containerId, groupId) {
386
+ var _a;
387
+ const scoped = rows.filter((row) => {
388
+ var _a;
389
+ const rowConId = (_a = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'CON_ID'))) !== null && _a !== void 0 ? _a : 0;
390
+ return containerId > 1 ? rowConId === containerId : rowConId === 0;
391
+ });
392
+ const selectedGroup = groupId !== null && groupId !== void 0 ? groupId : (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)((_a = [...scoped].sort((left, right) => {
393
+ var _a, _b;
394
+ return ((_a = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(left, 'INTSIZE_CSEC'))) !== null && _a !== void 0 ? _a : Number.MAX_SAFE_INTEGER) -
395
+ ((_b = (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(right, 'INTSIZE_CSEC'))) !== null && _b !== void 0 ? _b : Number.MAX_SAFE_INTEGER);
396
+ })[0]) !== null && _a !== void 0 ? _a : {}, 'GROUP_ID'));
397
+ return selectedGroup === null
398
+ ? []
399
+ : scoped.filter((row) => (0, rdbDashboardValueUtils_1.dashboardNumberOrNull)((0, rdbDashboardValueUtils_1.dashboardRowValue)(row, 'GROUP_ID')) === selectedGroup);
400
+ }
401
+ appendMissing(metricIds, requested, observations, messageCode) {
402
+ const observedAt = new Date().toISOString();
403
+ for (const metricId of metricIds) {
404
+ if (requested.has(metricId) && !observations.some((item) => item.metricId === metricId)) {
405
+ observations.push({ metricId, observedAt, value: null, status: 'unavailable', messageCode });
406
+ }
407
+ }
408
+ }
409
+ failSection(sectionId, metricIds, requested, observations, diagnostics, error) {
410
+ console.error(`[OracleRdbDashboardProvider:${sectionId}Sample]`, error);
411
+ diagnostics.push({ sectionId, severity: 'warning', code: `${sectionId}-failed`, message: `Oracle ${sectionId} metrics could not be collected.` });
412
+ const observedAt = new Date().toISOString();
413
+ for (const metricId of metricIds) {
414
+ if (requested.has(metricId))
415
+ observations.push({ metricId, observedAt, value: null, status: 'failed' });
416
+ }
417
+ }
418
+ }
419
+ exports.OracleRdbDashboardProvider = OracleRdbDashboardProvider;
420
+ //# sourceMappingURL=OracleRdbDashboardProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OracleRdbDashboardProvider.js","sourceRoot":"","sources":["../../../../../../../src/drivers/providers/rdbDashboard/vendors/oracle/OracleRdbDashboardProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './OracleRdbDashboardProvider';
2
+ export * from './oracleDashboardCatalog';
3
+ export * from './oracleDashboardQueries';
@@ -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("./OracleRdbDashboardProvider"), exports);
5
+ tslib_1.__exportStar(require("./oracleDashboardCatalog"), exports);
6
+ tslib_1.__exportStar(require("./oracleDashboardQueries"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/drivers/providers/rdbDashboard/vendors/oracle/index.ts"],"names":[],"mappings":";;;AAAA,uEAA6C;AAC7C,mEAAyC;AACzC,mEAAyC"}
@@ -0,0 +1,12 @@
1
+ import { RdbDashboardCapabilities, RdbDashboardScope, RdbDashboardTarget, ResolvedRdbDashboard, ResolvedRdbMetric } from '../../../../../types/drivers/rdbDashboard';
2
+ export declare const ORACLE_RDB_DASHBOARD_PROVIDER_ID = "rdb.oracle.database";
3
+ export type OracleDashboardContext = {
4
+ containerId: number;
5
+ containerName: string;
6
+ instanceName: string;
7
+ nativeMetricsAvailable: boolean;
8
+ nativeIntervalSeconds: number;
9
+ };
10
+ export declare function oracleConnectionScope(context: OracleDashboardContext): RdbDashboardScope;
11
+ export declare function oracleDashboardMetrics(context: OracleDashboardContext): ResolvedRdbMetric[];
12
+ export declare function resolveOracleDashboard(target: RdbDashboardTarget, capabilities: RdbDashboardCapabilities, context: OracleDashboardContext): ResolvedRdbDashboard;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ORACLE_RDB_DASHBOARD_PROVIDER_ID = void 0;
4
+ exports.oracleConnectionScope = oracleConnectionScope;
5
+ exports.oracleDashboardMetrics = oracleDashboardMetrics;
6
+ exports.resolveOracleDashboard = resolveOracleDashboard;
7
+ const rdbDashboard_1 = require("../../../../../types/drivers/rdbDashboard");
8
+ exports.ORACLE_RDB_DASHBOARD_PROVIDER_ID = 'rdb.oracle.database';
9
+ function oracleConnectionScope(context) {
10
+ if (context.containerId > 1) {
11
+ return { kind: 'pdb', label: `PDB ${context.containerName}` };
12
+ }
13
+ if (context.containerId === 1) {
14
+ return { kind: 'container', label: `CDB root ${context.containerName}` };
15
+ }
16
+ return { kind: 'database', label: `Database ${context.containerName}` };
17
+ }
18
+ const instanceScope = (instanceName) => ({
19
+ kind: 'instance',
20
+ label: `Oracle instance ${instanceName}`,
21
+ });
22
+ function oracleDashboardMetrics(context) {
23
+ const connection = oracleConnectionScope(context);
24
+ const instance = instanceScope(context.instanceName);
25
+ const nativeScope = context.containerId > 1 ? connection : instance;
26
+ const sampledMeasurement = () => context.nativeMetricsAvailable
27
+ ? { kind: 'native-window', intervalSeconds: context.nativeIntervalSeconds }
28
+ : { kind: 'cumulative-counter', epochKey: 'oracle-instance-startup', presentation: 'rate' };
29
+ const sampled = (id, label, unit) => ({
30
+ id,
31
+ label,
32
+ unit,
33
+ scope: nativeScope,
34
+ measurement: sampledMeasurement(),
35
+ selfObservation: 'included',
36
+ });
37
+ const resource = (id, label) => ({
38
+ id,
39
+ label,
40
+ unit: 'count',
41
+ scope: instance,
42
+ measurement: { kind: 'gauge' },
43
+ });
44
+ return [
45
+ { id: 'active_sessions', label: 'Active user sessions', unit: 'count', scope: connection, measurement: { kind: 'gauge' }, selfObservation: 'excluded' },
46
+ { id: 'inactive_sessions', label: 'Inactive user sessions', unit: 'count', scope: connection, measurement: { kind: 'gauge' }, selfObservation: 'excluded' },
47
+ { id: 'current_waits', label: 'Current waits by class', unit: 'sessions', scope: connection, measurement: { kind: 'gauge' }, dimensions: [{ key: 'waitClass', label: 'Wait class' }], selfObservation: 'excluded' },
48
+ sampled('user_calls', 'User calls', 'calls/s'),
49
+ sampled('executions', 'Executions', 'executes/s'),
50
+ sampled('database_time', 'Database time', 'centiseconds/s'),
51
+ sampled('cpu_usage', 'CPU usage', 'centiseconds/s'),
52
+ sampled('logical_reads', 'Logical reads', 'reads/s'),
53
+ sampled('physical_reads', 'Physical reads', 'reads/s'),
54
+ sampled('physical_writes', 'Physical writes', 'writes/s'),
55
+ {
56
+ id: 'completed_wait_time',
57
+ label: 'Completed wait time',
58
+ unit: 'ms/s',
59
+ scope: context.containerId > 1 ? connection : instance,
60
+ measurement: { kind: 'cumulative-counter', epochKey: 'oracle-instance-startup', presentation: 'rate' },
61
+ dimensions: [{ key: 'waitClass', label: 'Wait class' }],
62
+ selfObservation: 'included',
63
+ },
64
+ resource('sessions_current', 'Sessions current'),
65
+ resource('sessions_limit', 'Sessions limit'),
66
+ resource('processes_current', 'Processes current'),
67
+ resource('processes_limit', 'Processes limit'),
68
+ {
69
+ id: 'sessions_utilization', label: 'Sessions utilization', unit: 'percent', scope: instance,
70
+ measurement: { kind: 'derived', formula: { kind: 'raw-ratio', numeratorId: 'sessions_current', denominatorId: 'sessions_limit', scale: 100 } },
71
+ caveat: 'Unavailable when Oracle reports LIMIT_VALUE as UNLIMITED.',
72
+ },
73
+ {
74
+ id: 'processes_utilization', label: 'Processes utilization', unit: 'percent', scope: instance,
75
+ measurement: { kind: 'derived', formula: { kind: 'raw-ratio', numeratorId: 'processes_current', denominatorId: 'processes_limit', scale: 100 } },
76
+ caveat: 'Unavailable when Oracle reports LIMIT_VALUE as UNLIMITED.',
77
+ },
78
+ ];
79
+ }
80
+ function resolveOracleDashboard(target, capabilities, context) {
81
+ var _a;
82
+ const connection = oracleConnectionScope(context);
83
+ const instance = instanceScope(context.instanceName);
84
+ const statisticsSection = context.nativeMetricsAvailable ? 'native-metrics' : 'system-statistics';
85
+ const panels = [
86
+ { id: 'sessions', title: 'User sessions', purpose: 'workload', scope: connection, visualization: 'line', metricIds: ['active_sessions', 'inactive_sessions'], sectionCapabilityId: 'sessions', drilldownActions: [{ id: 'sessions', label: 'Open sessions', kind: 'open-sessions', enabled: true }, { id: 'locks', label: 'Open locks', kind: 'open-locks', enabled: true }] },
87
+ { id: 'calls', title: 'Calls and executions', purpose: 'workload', scope: context.containerId > 1 ? connection : instance, visualization: 'line', metricIds: ['user_calls', 'executions'], sectionCapabilityId: statisticsSection, drilldownActions: [{ id: 'query-statistics', label: 'Open query statistics', kind: 'open-query-statistics', enabled: ((_a = capabilities.sections.find((item) => item.sectionId === 'query-statistics')) === null || _a === void 0 ? void 0 : _a.status) === 'available', unavailableReason: 'V$SQLSTATS is unavailable.' }] },
88
+ { id: 'db-time', title: 'Database and CPU time', purpose: 'health', scope: context.containerId > 1 ? connection : instance, visualization: 'line', metricIds: ['database_time', 'cpu_usage'], sectionCapabilityId: 'native-metrics' },
89
+ { id: 'io', title: 'Logical and physical I/O', purpose: 'health', scope: context.containerId > 1 ? connection : instance, visualization: 'line', metricIds: ['logical_reads', 'physical_reads', 'physical_writes'], sectionCapabilityId: statisticsSection },
90
+ { id: 'current-waits', title: 'Current waits by class', purpose: 'health', scope: connection, visualization: 'bar', metricIds: ['current_waits'], topN: 10, sectionCapabilityId: 'sessions' },
91
+ { id: 'completed-waits', title: 'Completed wait time by class', purpose: 'health', scope: context.containerId > 1 ? connection : instance, visualization: 'bar', metricIds: ['completed_wait_time'], topN: 10, sectionCapabilityId: 'system-events' },
92
+ { id: 'resource-limits', title: 'Instance resource limits', purpose: 'capacity', scope: instance, visualization: 'stat-grid', metricIds: ['sessions_current', 'sessions_limit', 'sessions_utilization', 'processes_current', 'processes_limit', 'processes_utilization'], sectionCapabilityId: 'resource-limits' },
93
+ ];
94
+ return {
95
+ providerId: exports.ORACLE_RDB_DASHBOARD_PROVIDER_ID,
96
+ variant: capabilities.variant,
97
+ definitionVersion: 1,
98
+ target: { resourceKey: target.resourceKey, displayName: target.databaseName, sourceLabel: `Oracle ${capabilities.serverVersion}`, scope: connection },
99
+ serverVersion: capabilities.serverVersion,
100
+ samplePolicy: rdbDashboard_1.DEFAULT_RDB_SAMPLE_POLICY,
101
+ metrics: oracleDashboardMetrics(context),
102
+ tabs: [
103
+ { id: 'overview', title: 'Overview', timeMode: 'sampling-session', selectors: [], panels: [panels[0], panels[6]] },
104
+ { id: 'workload', title: 'Workload', timeMode: 'sampling-session', selectors: [], panels: [panels[1], panels[2]] },
105
+ { id: 'waits', title: 'Waits and locks', timeMode: 'sampling-session', selectors: [], panels: [panels[4], panels[5]] },
106
+ { id: 'io', title: 'I/O', timeMode: 'sampling-session', selectors: [], panels: [panels[3]] },
107
+ ],
108
+ capabilities: capabilities.sections,
109
+ notices: [
110
+ { id: 'scope', severity: 'info', title: 'Oracle container scope', message: `Connected to ${connection.label}. CON_ID=0 statistics are never labeled as PDB statistics.` },
111
+ { id: 'native-window', severity: 'info', title: 'Oracle native metric interval', message: context.nativeMetricsAvailable ? `Rates come from Oracle's ${context.nativeIntervalSeconds}-second metric window.` : 'Native metrics are unavailable; cumulative V$SYSSTAT counters are sampled instead.' },
112
+ { id: 'license-safe', severity: 'info', title: 'License-safe baseline', message: 'This dashboard does not query AWR, ASH, ADDM, DBA_HIST_* or V$SYSMETRIC_HISTORY.' },
113
+ { id: 'self-observation', severity: 'info', title: 'Observer session', message: 'The observer SID is excluded from current session counts. Its effect on shared counters cannot always be removed.' },
114
+ ],
115
+ };
116
+ }
117
+ //# sourceMappingURL=oracleDashboardCatalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oracleDashboardCatalog.js","sourceRoot":"","sources":["../../../../../../../src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardCatalog.ts"],"names":[],"mappings":"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"}