Davis CoPilot prompt examples
Davis CoPilot can help you analyze data for many different use cases. See the examples below to understand what kind of DQL output you can expect from your prompts.
See the selected pairs to understand what kind of DQL output you can expect from your prompts.
Analyze logs with Davis CoPilot
Prompt
Generated query
Show me all logs
fetch logs
Show me all log lines from the last 6 hours
fetch logs, from:now() - 6h
Chart logs by their log level over timeExclude "NONE"
fetch logs| filterOut loglevel == "NONE"| makeTimeseries by:{loglevel}, interval:1h, count = count()
Show me the maximum number of logs ingested per hour for each loglevel and each host
fetch logs| makeTimeseries by:{loglevel, host = dt.entity.host}, interval:1h, count = count()| summarize by:{loglevel, host}, max_count = max(arrayMax(count))
Compare the number of error logs from today with yesterday
fetch logs, from:bin(now(), 24h)| filter loglevel == "ERROR"| summarize todayErrorCount = count()| append[fetch logs, from:bin(now(), 24h) - 24h, to:bin(now(), 24h)| filter loglevel == "ERROR"| summarize yesterdayErrorCount = count()]
Show me all error logs over the last day with a granularity of one hour
fetch logs, from:now() - 24h| filter loglevel == "ERROR"| makeTimeseries interval:1h, count = count()
Show me 5 log sources with the highest volume
fetch logs| summarize by:{log.source}, log_count = count()| sort log_count desc| limit 5
Show me the most recurring log lines and add a column with the log source and AWS region
fetch logs| summarize by:{content, log.source, aws.region}, count = count()| sort count desc
Summarize slow database queries from logs
fetch logs, from:now() - 48h| filter contains(content, "slow") AND contains(content, "database")| summarize by:{loglevel, content}, count = count()
What is causing the most error log lines?
fetch logs, from:now() - 2h| filter loglevel == "ERROR"| summarize by:{log.source}, errorCount = count()| sort errorCount desc| limit 1
Which host is experiencing the highest number of error logs?
Show host name
fetch logs| filter loglevel == "ERROR"| summarize by:{dt.entity.host}, errorCount = count()| lookup[fetch dt.entity.host| fieldsAdd entity.name], sourceField:dt.entity.host, lookupField:id, fields:{entity.name}| sort errorCount desc| limit 1
Maximum number of logs ingested per hour for each loglevel and each host sorted in descending order
fetch logs| summarize by:{loglevel, host = dt.entity.host, bin(timestamp, 1h)}, count = count()| summarize by:{loglevel, host}, max_count = max(count)| sort max_count desc
Analyze events with Davis CoPilot
Prompt
Generated query
Return all events from the last three hours
fetch events, from:now() - 3h
Show an aggregated view of events by kind over the last three hours
fetch events, from:-3h| summarize by:{event.kind}, count = count()
Analyze business events with Davis CoPilot
Prompt
Generated query
Show all business events during business hours grouped by type and category
fetch bizevents| fieldsAdd day_of_week = getDayOfWeek(timestamp), hour_of_day = formatTimestamp(timestamp, format:"HH")| filter day_of_week >= 1 AND day_of_week <= 5 AND hour_of_day >= 9 AND hour_of_day <= 17| summarize by:{event.type, event.category}, count()
Show all business events from the last month, grouped by type and category.
Limit this to events during business days.
Sort by category
fetch bizevents, from:-720h| fieldsAdd day_of_week = getDayOfWeek(timestamp)| filter day_of_week >= 1 AND day_of_week <= 5| summarize by:{event.type, event.category}, count = count()| sort event.category
Show all business events over time by type
fetch bizevents| makeTimeseries by:{event.type}, interval:1h, count = count()
Show timeseries of bizevents by source
fetch bizevents| makeTimeseries by:{event.provider}, interval:1h, count = count()
Show all easytravel bizevents
by type as a timeseries for the last week
fetch bizevents, from:-168h| filter event.provider == "www.easytravel.com"| makeTimeseries by:{event.type}, interval:24h, count = count()
Show all easytrade bizevents
by type as a timeseries for the last week
fetch bizevents, from:now() - 168h, to:now()| filter contains(event.provider, "easytrade")| makeTimeseries by:{event.type}, interval:24h, count = count()
How many trades took place on easytrade in the last 24 hours?
fetch bizevents, from:now() - 24h, to:now()| filter event.type == "com.easytrade.trades"| summarize tradeCount = count()
Summarize easytrade buy.finish
event types by country
fetch bizevents| filter event.type == "com.easytrade.buy.finish"| summarize by:{geo.country.name}, event_count = count()
Show me the count of distinct emails containing "@gmail.com"
from bizevents
fetch bizevents| filter contains(email, "@gmail.com")| summarize distinctEmailCount = countDistinct(email)
Analyze Davis events with Davis CoPilot
Prompt
Generated query
Compare the number of Davis events day-by-day for the last week
fetch dt.davis.events.snapshots, from:now() - 168h, to:now()| summarize by:{bin(timestamp, 24h)}, dailyEventCount = count()
Summarize how many and which categories of Davis events occurred
fetch dt.davis.events, from:-48h| summarize by:{event.category}, event_count = count()
How many service slowdown events occurred yesterday?
fetch dt.davis.events.snapshots, from:bin(now(), 24h) - 24h, to:bin(now(), 24h)| filter event.type == "SERVICE_SLOWDOWN"| summarize slowdown_count = count()
Compare the number of Davis events day-by-day for the last week
fetch dt.davis.events, from:now() - 168h, to:now()| fieldsAdd day = bin(timestamp, 24h)| summarize by:{day}, event_count = count()
Summarize how many and which categories of Davis events occurred
fetch dt.davis.events| summarize by:{event.category}, count = count()
Analyze spans with Davis CoPilot
Prompt
Generated query
Show me the average database response time broken down by host and database
fetch spans| filter span.kind == "client" AND isNotNull(db.system) AND isNotNull(server.address) AND isNotNull(db.namespace)| summarize by:{host = server.address, database = db.namespace}, avg_duration = avg(duration)
Show me the average database response time in 1 minute granularity, split by database
fetch spans| filter span.kind == "client" AND isNotNull(db.system)| makeTimeseries by:{db.system}, interval:1m, avg_duration = avg(duration)
Analyze metrics with Davis CoPilot
Prompt
Generated query
Show the three most important metrics for host HOST-12ABC
timeseries by:{dt.entity.host}, filter:dt.entity.host == "HOST-12ABC", {availability = avg(dt.host.availability), uptime = avg(dt.host.uptime), cpu_usage = avg(dt.host.cpu.usage)}| fieldsAdd avg_availability = arrayAvg(availability), avg_uptime = arrayAvg(uptime), avg_cpu_usage = arrayAvg(cpu_usage)| sort avg_availability desc, avg_uptime desc, avg_cpu_usage desc| limit 3
Show each lambda function's execution time as metric timeseries
timeseries by:{dt.entity.aws_lambda_function}, avg_execution_time = avg(dt.cloud.aws.lambda.duration)
Compare last 24 hours' CPU usage with the corresponding timeframe from one week ago
timeseries from:now() - 24h, to:now(), cpu_usage_last_24h = avg(dt.host.cpu.usage)| append [timeseries from:now() - 168h - 24h, to:now() - 168h, cpu_usage_last_week = avg(dt.host.cpu.usage)]
Show me the top ten processes with respect to memory consumption and the host they are running on
timeseries by:{dt.entity.process_group_instance, dt.entity.host}, maxMemory = max(dt.process.memory.working_set_size)| summarize by:{dt.entity.process_group_instance, dt.entity.host}, maxMemory = max(maxMemory)| sort maxMemory desc| limit 10| lookup [fetch dt.entity.host], sourceField:dt.entity.host, lookupField:id, fields:{entity.name}
Give me an overview of the CPU-related metrics for HOST-14DC825E0C327E32
for the last day
timeseries by:{dt.entity.host}, filter:dt.entity.host == "HOST-14DC825E0C327E32", timeframe:timeframe(from:now() - 24h, to:now()), {avg_cpu_usage = avg(dt.host.cpu.usage), avg_cpu_system = avg(dt.host.cpu.system), avg_cpu_user = avg(dt.host.cpu.user), avg_cpu_iowait = avg(dt.host.cpu.iowait), avg_cpu_load15m = avg(dt.host.cpu.load15m)}
Show the CPU average from all Kubernetes services grouped by container name.
Limit to top 10
timeseries by:{k8s.container.name}, avg_cpu = avg(dt.kubernetes.container.cpu_usage)| sort avg_cpu desc| limit 10
Analyze entities with Davis CoPilot
Prompt
Generated query
Show me the top lambda function with respect to code size
fetch dt.entity.aws_lambda_function| sort awsCodeSize desc| fieldsKeep awsCodeSize, entity.name| limit 1
Show me the most tagged host groups
fetch dt.entity.host_group| fieldsAdd tags| expand tags| summarize by:{entity.name}, tag_count = count()| sort tag_count desc| limit 10
How many Azure VMs do we have compared to ec2 instances?
fetch dt.entity.azure_vm| summarize azure_vm_count = count()| append[fetch dt.entity.ec2_instance| summarize ec2_instance_count = count()]
Show me the 5 shortest lived Kubernetes services
fetch dt.entity.kubernetes_service| fieldsAdd id, entity.name, lifetime| fieldsAdd duration = toDuration(lifetime)| sort duration| limit 5
How many AWS lambda functions are deployed?
fetch dt.entity.aws_lambda_function| summarize deployed_functions = count()
Show me all hosts with CPU usage greater than 60% over the last week
timeseries by:{dt.entity.host}, from:now() - 168h, cpuUsage = avg(dt.host.cpu.usage)| filter arrayAvg(cpuUsage) > 60| lookup [fetch dt.entity.host], sourceField:dt.entity.host, lookupField:id
Analyze problems with Davis CoPilot
Prompt
Generated query
Show number of problems by problem status for the last day, as a timeseries
fetch dt.davis.problems, from:now() - 24h, to:now()| makeTimeseries by:{status = event.status}, interval:1h, count = count()
Summarize the top ten problems of the last 24 hours, ranked by number of affected entities
fetch dt.davis.problems, from:now() - 24h| expand affected_entity_ids| summarize by:{event.name}, affectedEntityCount = count()| sort affectedEntityCount desc| limit 10
Show most problem-affected entities
fetch dt.davis.problems| expand affected_entity_ids| summarize by:{affected_entity_ids}, count = count()| sort count desc
Show all active problems by category as a timeseries
fetch dt.davis.problems| filter event.status == "ACTIVE"| makeTimeseries by:{event.category}, interval:1h, count = count()
Show active problems by their root cause, where the root cause is not null or empty
fetch dt.davis.problems| filter isNotNull(root_cause_entity_id) AND root_cause_entity_id != ""| fields root_cause_entity_id, display_id, event.name, timestamp
How many entities are affected by a problem called "HTTP monitor global outage"?
fetch dt.davis.problems| filter event.name == "Http monitor global outage"| expand affected_entity_ids| summarize affected_entities = countDistinct(affected_entity_ids)
How many slowdown problems have been detected over the last 3 days?
fetch dt.davis.problems, from:now() - 72h| filter event.category == "SLOWDOWN"| summarize slowdownCount = count()
Show all problems that affected more than 500 usersKeep these fields: display\_id
, dt.davis.affected\_users\_count
, event.category
, event.description
, and resolved\_problem\_duration
fetch dt.davis.problems| filter dt.davis.affected_users_count > 500| fieldsKeep display_id, dt.davis.affected_users_count, event.category, event.description, resolved_problem_duration
Show how many problems there have been this year, as a week-by-week comparison
fetch dt.davis.problems, from:bin(now(), 24h) - 365d| fieldsAdd week_of_year = getWeekOfYear(timestamp)| summarize by:{week_of_year}, problem_count = count()