Query trends 43
Neo4j query shapes on master over the last 1h, grouped by plan hash.
Click a column to sort; p95 drift (late-half ÷ early-half of the window) ranks the queries getting slower.
| Query shape | Count | Avg | p95 | Max | p95 drift ▾ |
|---|---|---|---|---|---|
MATCH (wp:WorkPlanInstance) WHERE wp.instanceReadyDeterminationState IN [?, ?] AND wp.state <> ? OPTIONAL MATCH (wp)<-[:WORKPLAN_JOB_TO_OBJ]-(job:WorkplanJob) WITH wp, count(job) AS jobN WHERE jobN = ? RETURN wp.tildaid AS id LIMIT ? |
62 | 1 ms | 3 ms | 2 ms | 2.0× ↑ |
CREATE (a:WorkplanInstanceEvent{deltimestamp:?}) SET a.createdat = timestamp(), a.updatedat = timestamp(), a.tildaid = randomUUID(), a.holdbitmap=?,a.holdbitmap=?,a.delpending=false,a.instanceId=?,a.orgId=?,a.eventType=?,a.requestId=?,a.summary=?,a.payloadJson=? RETURN a.tildaid, a.createdat write |
124 | <1 ms | <1 ms | 1 ms | 1.4× ↑ |
RETURN EXISTS { MATCH (inst:WorkPlanInstance) WHERE coalesce(inst.progressSummariesPending, false) = true } AS progressPending, EXISTS { MATCH (item:WorkplanInstanceMilestoneItem) WHERE item.itemType = ? AND coalesce(item.workOrderId, ?) <> ? AND coalesce(item.activationPending, false) = true AND coalesce(item.activati |
62 | 4 ms | 9 ms | 7 ms | flat |
MATCH (org:Organization)<-[:WORK_ORDER_TO_ORGANIZATION]-(w:WorkOrder {status:?}) RETURN org.tildaid AS org_id, collect(w.tildaid) AS wo_ids |
30 | 10 ms | 19 ms | 15 ms | flat |
RETURN ? |
278 | <1 ms | <1 ms | 3 ms | flat |
RETURN ? as health_check |
278 | <1 ms | <1 ms | 4 ms | flat |
MATCH (wp:WorkPlanInstance) WHERE wp.instanceReadyDeterminationState = ? AND wp.state <> ? RETURN wp.tildaid AS id ORDER BY coalesce(wp.instanceReadyDeterminationUpdatedAt, ?) ASC LIMIT ? |
62 | 1 ms | 2 ms | 3 ms | flat |
MATCH (r:TmfEvaluationRun {status: $running}) WHERE r.deltimestamp = ? AND coalesce(r.updatedat, r.createdat) < $cutoff RETURN r.tildaid AS tildaid, r.trainingId AS trainingId, r.tmfVersion AS tmfVersion ORDER BY coalesce(r.updatedat, r.createdat) ASC LIMIT $limit |
15 | <1 ms | 2 ms | 1 ms | flat |
MATCH (org:Organization)-[:ORGANIZATION_TO_WORKPLAN_INSTANCE]->(wp:WorkPlanInstance{tildaid:?}) RETURN org.tildaid as oid |
124 | 1 ms | 2 ms | 2 ms | flat |
match (task:Task{assignment:?}) where (task.state = ? or task.state = ?) and not exists ((task)-[:BELONGS_TO]-(:Inbox{type:?})) and coalesce(task.dist_deferred, false) = false and not exists ( (task)-[:CREATED_FROM_SPEC]-(:ParticipantTaskConfig)-[:PARTICIPANT_TASKCONFIG]-(:ParticipantTaskList)-[:PARTICIPANT_TASKLIST]-( |
7 | 106 ms | 194 ms | 126 ms | flat |
// First part for StudySiteUser scope match (o:Organization{orgType:?})-[:STUDY_TO_ORG]-(st:Study) match (st)-[:STUDY_TO_ACTOR]-(actor:Actor{delpending:false})-[:STUDYSITEACTOR_TO_ACTOR]-(scopeUser:StudySiteActor{delpending:false})--(sitePd:DslPlanDefinition{type:?})-[:PLAN_DEFINITION_TO_SITE]-(site:Site) match (st)-[: |
16 | 539 ms | 973 ms | 646 ms | flat |
MATCH (o:Organization{orgType:?})-[:DOC_TO_ORG]-(d:Document)-[:INCLUDES]-(f:Folder) WHERE f.name IN [?, ?] AND d.delpending = false AND d.aiEnabled = true AND d.studyId <> ? AND d.primaryVersionId IS NOT NULL AND d.primaryVersionId <> ? OPTIONAL MATCH (d)<-[:AI_RUN_TO_DOCUMENT_LATEST]-(ai:AIRun) WITH o, d, ai ORDER BY |
93 | 171 ms | 198 ms | 257 ms | flat |
match(a:AdvRateRule{deleted:true})-[r]-(b) with distinct a return a.portalorgid, a.tildaid, a.ruletype limit ? |
353 | 2 ms | 5 ms | 4 ms | flat |
MATCH (study:Study )-[:MANAGED_BY]-(:Inbox)-[:BELONGS_TO]-(t:Task) WHERE NOT EXISTS ((t)-[:BELONGS_TO]-(:Inbox{type:?})) CALL { WITH t MATCH (t)<-[:CREATED_FROM_SPEC]-(ptc:ParticipantTaskConfig)-[:PARTICIPANT_TASKCONFIG]-(:ParticipantTaskList)-[:PARTICIPANT_TASKLIST]-(:ParticipantControl)-[:PARTICIPANT_CONTROL]-(:Parti |
18 | 36.72 s | 29.00 s | 39.18 s | flat |
MATCH (study:Study )-[:MANAGED_BY]-(:Inbox)-[:BELONGS_TO]-(t:Task) WHERE NOT EXISTS ((t)-[:BELONGS_TO]-(:Inbox{type:?})) CALL { WITH t MATCH (t)<-[:CREATED_FROM_SPEC]-(ptc:ParticipantTaskConfig)-[:PARTICIPANT_TASKCONFIG]-(:ParticipantTaskList)-[:PARTICIPANT_TASKLIST]-(:ParticipantControl)-[:PARTICIPANT_CONTROL]-(:Parti |
18 | 37.08 s | 29.00 s | 39.15 s | flat |
match (pv:ParticipantVisit)-[:BELONGS_TO_PARTICIPANT_VISIT]-(v:VisitAppointment)-[:VISIT_APPOINTMENT_TO_CARE_PLAN]-(c:CarePlan)-[:RESEARCH_SUBJECT] -(p:Patient)-[:HAS_PROTECTED_DATA_IN]-(phi:Phi) where c.status IN [?,?] and v.startTime >= datetime({epochMillis:?}) and v.startTime <= datetime({epochMillis:?}) match (c)- |
3 | 13 ms | 20 ms | 13 ms | flat |
MATCH (t:Task)-[:CREATED_FROM_SPEC]-(ptc:ParticipantTaskConfig)-[:PARTICIPANT_TASKCONFIG]-(ptl:ParticipantTaskList)-[:PARTICIPANT_TASKLIST]-(pa:ParticipantActivity)-[:PARTICIPANT_ACTIVITY]->(pw:ParticipantWorkflow) WHERE t.state IN [?, ?] AND ptc.status <> ? RETURN DISTINCT t.tildaid UNION MATCH (t:Task)-[:CREATED_FROM |
6 | 6 ms | 10 ms | 6 ms | flat |
MATCH (t:Task)-[:CREATED_FROM_SPEC]-(ptc:ParticipantTaskConfig)-[:PARTICIPANT_TASKCONFIG]-(ptl:ParticipantTaskList)-[:PARTICIPANT_TASKLIST]-(pa:ParticipantActivity)-[:PARTICIPANT_ACTIVITY]->(pw:ParticipantWorkflow) WHERE t.state IN [?, ?] AND ptc.status <> ? RETURN DISTINCT t.tildaid UNION MATCH (t:Task)-[:CREATED_FROM |
9 | 7 ms | 10 ms | 8 ms | flat |
MATCH (wo:WorkOrder)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:?}) WHERE a.processing_status = ? AND coalesce(a.retry_count,?) < ? AND (a.last_attempt_at IS NULL OR a.last_attempt_at < $cutoff) AND a.timestamp < $cutoff WITH wo, a ORDER BY a.timestamp ASC WITH wo, head(collect(a)) AS oldest RETURN |
6 | 5 ms | 10 ms | 5 ms | flat |
MATCH (wp:WorkPlanInstance)-[:WORKPLAN_INSTANCE_TO_MILESTONE]->(:WorkPlanMilestone)-[:REL_WORKPLAN_INSTANCE_MILESTONE_TO_ITEM]->(item:WorkplanInstanceMilestoneItem) WHERE item.itemType = ? AND wp.state <> ? AND coalesce(item.workOrderId, ?) <> ? AND coalesce(item.activationPending, false) = true AND coalesce(item.activ |
58 | 7 ms | 10 ms | 9 ms | flat |
MATCH (cfg:WorkplanCfg)-[:WORKPLAN_CFG_TO_INSTANCE]->(wp:WorkPlanInstance)-[:WORKPLAN_INSTANCE_TO_MILESTONE]->(m:WorkPlanMilestone)-[:REL_WORKPLAN_INSTANCE_MILESTONE_TO_ITEM]->(item:WorkplanInstanceMilestoneItem) WHERE item.itemType = ? AND coalesce(item.workOrderActivationFailedAt, ?) > ? AND coalesce(item.workOrderAc |
59 | 6 ms | 10 ms | 8 ms | flat |
MATCH (study:Study )-[:MANAGED_BY]-(:Inbox)-[:BELONGS_TO]-(t:Task) WHERE NOT EXISTS ((t)-[:BELONGS_TO]-(:Inbox{type:?})) CALL { WITH t MATCH (t)<-[:CREATED_FROM_SPEC]-(ptc:ParticipantTaskConfig)-[:PARTICIPANT_TASKCONFIG]-(:ParticipantTaskList)-[:PARTICIPANT_TASKLIST]-(:ParticipantControl)-[:PARTICIPANT_CONTROL]-(:Parti |
17 | 26.83 s | 29.00 s | 28.46 s | flat |
UNWIND $site_ids AS sid OPTIONAL MATCH (s:Site {tildaid: sid, delpending: false}) OPTIONAL MATCH (s)<-[:PLAN_DEFINITION_TO_SITE]-(pd:DslPlanDefinition {delpending: false})-[:PLAN_DEFINITION_TO_STUDY]->(st:Study {tildaid: $study_id, delpending: false}) OPTIONAL MATCH (pd)-[pdc:PLAN_DEFINITION_TO_CONTACT]->(actor:Actor { |
375 | 1 ms | 2 ms | 2 ms | flat |
MATCH (cfg:WorkplanCfg{tildaid:?})-[:WORKPLAN_CFG_TO_STUDY]->(study:Study) RETURN study.tildaid as studyId |
585 | <1 ms | 2 ms | 2 ms | flat |
match (task:Task{assignment:?}) where (task.state = ? or task.state = ?) and not exists ((task)-[:BELONGS_TO]-(:Inbox{type:?})) and coalesce(task.dist_deferred, false) = false and not exists ( (task)-[:CREATED_FROM_SPEC]-(:ParticipantTaskConfig)-[:PARTICIPANT_TASKCONFIG]-(:ParticipantTaskList)-[:PARTICIPANT_TASKLIST]-( |
9 | 102 ms | 194 ms | 109 ms | flat |
match (u:User{tildaid:?})<-[:OWNED_BY]-(i:Inbox{type:?}) where u.email = i.name return i |
36 | <1 ms | 2 ms | 1 ms | flat |
UNWIND $site_ids AS sid OPTIONAL MATCH (s:Site {tildaid: sid, delpending: false}) OPTIONAL MATCH (s)<-[:PLAN_DEFINITION_TO_SITE]-(pd:DslPlanDefinition {delpending: false})-[:PLAN_DEFINITION_TO_STUDY]->(st:Study {tildaid: $study_id, delpending: false}) OPTIONAL MATCH (pd)-[pdc:PLAN_DEFINITION_TO_CONTACT]->(actor:Actor { |
210 | <1 ms | 2 ms | 2 ms | flat |
MATCH (ai:AIRun)-[:AI_RUN_TO_DOCUMENT_LATEST]->(d:Document) WHERE d.aiEnabled = true AND ( (ai.status = ? AND ($cutoff_ms <= ? OR COALESCE(ai.updatedat, ai.createdat) < $cutoff_ms)) OR ai.status = ? ) RETURN count(ai) AS total |
119 | 67 ms | 98 ms | 200 ms | flat |
MATCH (instance:WorkPlanInstance{tildaid:?})-[:WORKPLAN_TO_SITE]->(site:Site) RETURN site.tildaid as siteId |
585 | 1 ms | 2 ms | 2 ms | flat |
MATCH (wo:WorkOrder)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:?}) WHERE a.processing_status = ? AND coalesce(a.retry_count,?) < ? AND (a.last_attempt_at IS NULL OR a.last_attempt_at < $cutoff) WITH wo, a ORDER BY a.timestamp ASC WITH wo, head(collect(a)) AS oldest RETURN wo.tildaid AS work_order_i |
6 | 5 ms | 10 ms | 5 ms | flat |
MATCH (o:Organization{orgType:?})-[:DOC_TO_ORG]-(d:Document)-[:INCLUDES]-(f:Folder) WHERE f.name IN [?, ?] AND d.delpending = false AND d.aiEnabled = true AND d.studyId <> ? AND d.primaryVersionId IS NOT NULL AND d.primaryVersionId <> ? OPTIONAL MATCH (d)<-[:AI_RUN_TO_DOCUMENT_LATEST]-(ai:AIRun) WITH o, d, ai ORDER BY |
119 | 169 ms | 197 ms | 367 ms | flat |
MATCH (ai:AIRun)-[:AI_RUN_TO_DOCUMENT_LATEST]->(d:Document) WHERE d.aiEnabled = true AND ( (ai.status = ? AND ($cutoff_ms <= ? OR COALESCE(ai.updatedat, ai.createdat) < $cutoff_ms)) OR ai.status = ? ) MATCH (d)-[:DOC_TO_ORG]->(o:Organization) RETURN d.tildaid AS document_id, d.primaryVersionId AS version_id, ai.tildaid |
93 | 91 ms | 153 ms | 129 ms | flat |
MATCH (wp:WorkPlanInstance{tildaid:?})-[:WORKPLAN_INSTANCE_TO_MILESTONE]->(:WorkPlanMilestone)-[:REL_WORKPLAN_INSTANCE_MILESTONE_TO_ITEM]->(item:WorkplanInstanceMilestoneItem) WHERE item.itemType = ? AND coalesce(item.skippedAt, ?) = ? AND coalesce(item.notApplicableAt, ?) = ? AND coalesce(item.workOrderCompletedAt, ?) |
117 | 1 ms | 4 ms | 2 ms | flat |
MATCH (b:Budget) WHERE b.status = ? AND date(b.effectiveDate) <= date() RETURN b.tildaid |
33 | <1 ms | 2 ms | 1 ms | flat |
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE ?=? AND a.activity_type IN $activity_types AND a.status IN $statuses OPTIONAL MATCH (d:Document) WHERE d.tildaid IN COALESCE(a.docIds, []) WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentTy |
12,820 | <1 ms | 2 ms | 115 ms | flat |
MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n |
12,725 | <1 ms | 2 ms | 3 ms | flat |
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE ?=? AND a.activity_type IN $activity_types AND a.status IN $statuses RETURN count(a) as total |
12,819 | <1 ms | 2 ms | 200 ms | flat |
MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: ?}) RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts |
12,726 | <1 ms | 2 ms | 2 ms | 0.8× ↓ |
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false RETURN f ORDER BY f.createdat ASC |
12,634 | <1 ms | 2 ms | 135 ms | 0.8× ↓ |
MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization) RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required |
93 | <1 ms | 1 ms | 1 ms | 0.7× ↓ |
MATCH (org:Organization) WITH org MATCH (task:Task)-[:BELONGS_TO]->(inbox:Inbox{type:?})-[:MANAGED_BY]->(org) WHERE task.task_number IS NULL OR task.task_number = ? WITH org, task ORDER BY org.alias, task.createdat WITH org, collect(task) as tasks CALL { WITH org MATCH (t:Task)-[:BELONGS_TO]->(:Inbox{type:?})-[:MANAGED write |
16 | 76 ms | 120 ms | 100 ms | 0.7× ↓ |
MATCH (study:Study )-[:MANAGED_BY]-(:Inbox)-[:BELONGS_TO]-(t:Task) WHERE NOT EXISTS ((t)-[:BELONGS_TO]-(:Inbox{type:?})) CALL { WITH t MATCH (t)<-[:CREATED_FROM_SPEC]-(ptc:ParticipantTaskConfig)-[:PARTICIPANT_TASKCONFIG]-(:ParticipantTaskList)-[:PARTICIPANT_TASKLIST]-(:ParticipantControl)-[:PARTICIPANT_CONTROL]-(:Parti |
18 | 1.87 s | 2.30 s | 2.04 s | 0.6× ↓ |
match (pv:ParticipantVisit)-[:BELONGS_TO_PARTICIPANT_VISIT]-(v:VisitAppointment)-[:VISIT_APPOINTMENT_TO_CARE_PLAN]-(c:CarePlan)-[:RESEARCH_SUBJECT] -(p:Patient)-[:HAS_PROTECTED_DATA_IN]-(phi:Phi) where c.status IN [?,?] and v.startTime >= datetime({epochMillis:?}) and v.startTime <= datetime({epochMillis:?}) match (c)- |
1 | 16 ms | 20 ms | 16 ms | flat |
p95 drift compares the query's p95 in the recent half of the window to the earlier half — ≥1.2× means it's slowing down. Click a row for its p50/p95 latency trend over time. Latency percentiles come from per-bucket histograms (no individual queries stored).