Skip to content

Commit 6bd982c

Browse files
authored
Fix for #170, added "workloadType", "workloadComplexity", "AppId" filtering (#211)
1 parent 6dfb59a commit 6bd982c

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

src/teradata_mcp_server/tools/dba/dba_tools.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,25 +210,31 @@ def handle_dba_resusageSummary(conn: TeradataConnection,
210210
date: str | None = None,
211211
dayOfWeek: str | None = None,
212212
hourOfDay: str | None = None,
213+
workloadType: str | None = None,
214+
workloadComplexity: str | None = None,
215+
AppId: str | None = None,
213216
*args, **kwargs):
214217

215218
"""
216219
Get the Teradata system usage summary metrics by weekday and hour for each workload type and query complexity bucket.
217220
218221
Arguments:
219-
dimensions - list of dimensions to aggregate the resource usage summary. All dimensions are: ["LogDate", "hourOfDay", "dayOfWeek", "workloadType", "workloadComplexity", "UserName", "AppId", "StatementType"]
222+
dimensions - list of dimensions to aggregate the resource usage summary. All dimensions are: ["LogDate", "hourOfDay", "dayOfWeek", "workloadType", "workloadComplexity", "UserName", "AppId"]
220223
user_name - user name
221224
date - Date to analyze, formatted as `YYYY-MM-DD`
222225
dayOfWeek - day of the week to analyze
223226
hourOfDay - hour of day to analyze
227+
workloadType - workload type to analyze, example: 'LOAD', 'ETL/ELT', 'EXPORT', 'QUERY', 'ADMIN', 'OTHER'
228+
workloadComplexity - workload complexity to analyze, example: 'Ingest & Prep', 'Answers', 'System/Procedural'
229+
AppId - Application ID to analyze, example: 'TPTLOAD%', 'TPTUPD%', 'FASTLOAD%', 'MULTLOAD%', 'EXECUTOR%', 'JDBC%'
224230
225231
"""
226232
logger.debug(f"Tool: handle_dba_resusageSummary: Args: dimensions: {dimensions}")
227233

228234
comment="Total system resource usage summary."
229235

230236
# If dimensions is not None or empty, filter in the allowed dimensions
231-
allowed_dimensions = ["LogDate", "hourOfDay", "dayOfWeek", "workloadType", "workloadComplexity","UserName","AppId","StatementType"]
237+
allowed_dimensions = ["LogDate", "hourOfDay", "dayOfWeek", "workloadType", "workloadComplexity","UserName","AppId"]
232238
unsupported_dimensions = []
233239
if dimensions is not None:
234240
unsupported_dimensions = [dim for dim in dimensions if dim not in allowed_dimensions]
@@ -253,6 +259,9 @@ def handle_dba_resusageSummary(conn: TeradataConnection,
253259
filter_clause += f"AND LogDate = '{date}' " if date else ""
254260
filter_clause += f"AND dayOfWeek = '{dayOfWeek}' " if dayOfWeek else ""
255261
filter_clause += f"AND hourOfDay = '{hourOfDay}' " if hourOfDay else ""
262+
filter_clause += f"AND workloadType = '{workloadType}' " if workloadType else ""
263+
filter_clause += f"AND workloadComplexity = '{workloadComplexity}' " if workloadComplexity else ""
264+
filter_clause += f"AND AppID LIKE '{AppId}' " if AppId else ""
256265

257266
query = f"""
258267
SELECT

0 commit comments

Comments
 (0)