Analyze workload classification and autonomously configure classification rules, filters, and priorities to improve accuracy and meet business requirements
Analyze and autonomously optimize workload definitions including classification rules, filters, priorities, and exception handling to ensure queries are properly managed according to business requirements.
This skill can now execute changes, not just recommend them!
With tdwm-mcp v1.5.0, this skill has evolved from advisory to autonomous:
Monitoring & Analysis:
list_active_WD - Review active workload definitionslist_WDs - List all workloads (active and inactive)show_tdwm_summary - Analyze workload distributionshow_tasm_statistics - Review TASM rule effectivenessshow_tasm_even_history - See workload classification decisionsshow_query_band - Review query band usagelist_rulesets - List all available rulesetsConfiguration Management (NEW ✨):
add_classification_to_rule - Add classification criteria to workload/filter/throttleadd_subcriteria_to_target - Add sub-criteria (FTSCAN, MINSTEPTIME, etc.)activate_ruleset - Apply all pending changesTemplates:
tdwm://templates/filter - List all filter templatestdwm://template/filter/application-basic - Filter by applicationtdwm://template/filter/user-group - Filter by user/accounttdwm://template/filter/query-complexity - Filter by complexity metricsReference Data:
tdwm://reference/classification-types - All 31 classification typestdwm://reference/operators - Classification operators (I, O, IO)tdwm://reference/subcriteria-types - Sub-criteria typestdwm://reference/filter-actions - Filter actions (ACCEPT/REJECT)Discovery:
tdwm://rulesets - List all rulesetstdwm://system/active-ruleset - Get currently active rulesettdwm://ruleset/{name}/filters - List filters in rulesettdwm://ruleset/{name}/throttles - List throttles in rulesettdwm://ruleset/{name}/pending-changes - Check pending changesWorkflows:
tdwm://workflow/add-classification - Step-by-step classification addition guideAssess Current Workload Configuration
tdwm://system/active-rulesetlist_active_WD and list_WDsshow_tdwm_summaryAnalyze Classification Accuracy
show_tdwm_summary to see query distributionshow_tasm_even_history for misclassification patternsshow_query_band to verify tagging is workingReview Existing Rules
tdwm://ruleset/{name}/filterstdwm://ruleset/{name}/filter/{filter_name}tdwm://ruleset/{name}/throttlestdwm://ruleset/{name}/throttle/{throttle_name}Identify Classification Gaps
Calculate Optimal Classification
Select Approach: Template or Custom
Template-Based (Recommended):
tdwm://templates/filtertdwm://template/filter/{id}Custom Classification:
tdwm://reference/classification-typestdwm://reference/operatorsAdd Classification to Rule
For existing workload/filter/throttle:
Use: add_classification_to_rule(
ruleset_name, rule_name, rule_type,
classification_criteria
)
Classification criteria structure:
[{
"description": "Human-readable description",
"type": "APPL|USER|ACCT|...", # From reference
"value": "actual_value",
"operator": "I|O|IO" # Inclusion/Exclusion/Inconclusive
}]
Add Sub-Criteria (if needed)
For fine-grained control, add sub-criteria:
Use: add_subcriteria_to_target(
ruleset_name, rule_name, target_type,
subcriteria
)
Common sub-criteria:
FTSCAN: "Y" - Full table scan queriesMINSTEPTIME: "300" - Queries running > 5 minutesMINPARSERTIME: "10" - Queries with parsing time > 10 secondsActivate Changes
tdwm://ruleset/{name}/pending-changesactivate_ruleset(ruleset_name)Verify Configuration
tdwm://ruleset/{name}/filter/{name}Monitor Impact
show_tdwm_summaryshow_tasm_even_historyIterate if Needed
add_classification_to_rule for adjustmentsScenario: ETL queries ending up in DEFAULT workload instead of ETL workload
Discovery:
1. show_tdwm_summary → See 50% queries in DEFAULT (should be in ETL)
2. show_query_band → ETL sets query band 'APP=ETL_LOADER'
3. tdwm://system/active-ruleset → "Tactical"
4. tdwm://ruleset/Tactical/filter/ETL_FILTER → No APPL classification exists
Analysis:
Execution (Autonomous):
1. Validate classification type:
tdwm://reference/classification-types
→ Confirm "APPL" is valid classification type
2. Add APPL classification to ETL filter:
add_classification_to_rule(
ruleset_name="Tactical",
rule_name="ETL_FILTER",
rule_type="filter",
classification_criteria=[{
"description": "Match ETL application query band",
"type": "APPL",
"value": "ETL_LOADER",
"operator": "I" # Inclusion
}]
)
3. Check pending changes:
tdwm://ruleset/Tactical/pending-changes
→ Confirm APPL classification queued
4. Activate:
activate_ruleset(ruleset_name="Tactical")
5. Verify:
tdwm://ruleset/Tactical/filter/ETL_FILTER
→ Confirm APPL classification present
6. Monitor (wait 10 minutes):
show_tdwm_summary
→ ETL queries now in ETL workload (not DEFAULT)
Result: ETL queries properly classified, DEFAULT workload reduced by 50%
Scenario: Power BI users need dedicated workload but not all set query band
Discovery:
1. show_tdwm_summary → Power BI queries mixed across workloads
2. show_query_band → Only 60% of Power BI queries set query band
3. list_active_WD → POWERBI workload exists
4. tdwm://ruleset/Tactical/filter/POWERBI_FILTER → Only has APPL classification
Analysis:
Execution (Autonomous):
1. Validate classification type:
tdwm://reference/classification-types
→ Confirm "USER" is valid
2. Add USER classification to existing filter:
add_classification_to_rule(
ruleset_name="Tactical",
rule_name="POWERBI_FILTER",
rule_type="filter",
classification_criteria=[{
"description": "Catch Power BI users without query band",
"type": "USER",
"value": "pbi_*", # Pattern matching
"operator": "I"
}]
)
3. Activate:
activate_ruleset(ruleset_name="Tactical")
4. Verify:
tdwm://ruleset/Tactical/filter/POWERBI_FILTER
→ Confirm both APPL and USER classifications present
5. Monitor:
show_tdwm_summary
→ Power BI workload increased from 60% to 95% capture rate
Result: Power BI queries properly classified even without query band
Scenario: Analytics queries running >10 minutes should be throttled
Discovery:
1. show_query_log → Analytics queries running 10-60 minutes
2. tdwm://ruleset/Tactical/throttle/ANALYTICS_LIMIT → Has APPL classification
3. show_trottle_statistics → Short analytics queries also being throttled
Analysis:
Execution (Autonomous):
1. Validate sub-criteria type:
tdwm://reference/subcriteria-types
→ Confirm "MINSTEPTIME" is valid
2. Add MINSTEPTIME sub-criteria to throttle:
add_subcriteria_to_target(
ruleset_name="Tactical",
throttle_name="ANALYTICS_LIMIT",
target_type="APPL",
subcriteria={
"type": "MINSTEPTIME",
"value": "600" # 10 minutes in seconds
}
)
3. Activate:
activate_ruleset(ruleset_name="Tactical")
4. Verify:
tdwm://ruleset/Tactical/throttle/ANALYTICS_LIMIT
→ Confirm MINSTEPTIME sub-criteria present
5. Monitor:
show_trottle_statistics
→ Only long-running analytics queries now throttled
Result: Short analytics queries run freely, only long queries throttled
Scenario: New ML application needs classification into ML workload
Discovery:
1. show_tdwm_summary → ML queries appearing in DEFAULT
2. show_query_band → ML app sets 'APP=ML_TRAINING'
3. list_active_WD → ML_WORKLOAD exists
4. tdwm://ruleset/Tactical/filters → No ML_FILTER exists yet
Analysis:
Execution (Template-Based):
1. Get template:
tdwm://template/filter/application-basic
→ Shows APPL-based filter pattern
2. Create filter using create_filter_rule:
create_filter_rule(
ruleset_name="Tactical",
filter_name="ML_FILTER",
classification_criteria=[{
"description": "ML Training Application",
"type": "APPL",
"value": "ML_TRAINING",
"operator": "I"
}],
action_type="ACCEPT",
workload_name="ML_WORKLOAD"
)
3. Enable filter:
enable_filter_rule(
ruleset_name="Tactical",
filter_name="ML_FILTER"
)
4. Activate:
activate_ruleset(ruleset_name="Tactical")
5. Verify:
tdwm://ruleset/Tactical/filter/ML_FILTER
→ Confirm filter created with APPL classification
6. Monitor:
show_tdwm_summary
→ ML queries now in ML_WORKLOAD
Result: ML application properly classified into dedicated workload
Scenario: Fast track workload getting slow queries due to full table scans
Discovery:
1. show_tdwm_summary → FAST_TRACK average response time increasing
2. show_query_log → Some FAST_TRACK queries doing full table scans
3. tdwm://ruleset/Tactical/filter/FAST_TRACK_FILTER → Has USER and APPL criteria
Analysis:
Execution (Autonomous):
1. Validate sub-criteria type:
tdwm://reference/subcriteria-types
→ Confirm "FTSCAN" is valid
2. Add exclusion for full table scans:
add_subcriteria_to_target(
ruleset_name="Tactical",
filter_name="FAST_TRACK_FILTER",
target_type="USER", # Apply to USER classification
subcriteria={
"type": "FTSCAN",
"value": "N" # Only queries NOT doing full scan
}
)
3. Activate:
activate_ruleset(ruleset_name="Tactical")
4. Verify:
tdwm://ruleset/Tactical/filter/FAST_TRACK_FILTER
→ Confirm FTSCAN sub-criteria present
5. Monitor:
show_tdwm_summary
→ FAST_TRACK average response time improved
→ Full scan queries now in BATCH workload
Result: Fast track performance improved by excluding full scans
tdwm://ruleset/{name}/filters to see existing filters before addingtdwm://ruleset/{name}/pending-changes before activatingtdwm://reference/classification-typestdwm://reference/operators