Skip to content

Commit 92757a1

Browse files
committed
pkg/settings/cresettings: add limits flowchart
1 parent 7f47b3a commit 92757a1

2 files changed

Lines changed: 142 additions & 1 deletion

File tree

pkg/settings/cresettings/README.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
# CRE Settings
2+
3+
```mermaid
4+
---
5+
title: Legend
6+
---
7+
flowchart
8+
bound{{Bound}}
9+
gate[/Gate\]
10+
queue[[Queue]]
11+
rate[\Rate/]
12+
resource([Resource])
13+
time>Time]
14+
15+
bound:::bound
16+
gate:::gate
17+
queue:::queue
18+
rate:::rate
19+
resource:::resource
20+
time:::time
21+
22+
classDef bound stroke:#f00
23+
classDef gate stroke:#0f0
24+
classDef queue stroke:#00f
25+
classDef rate stroke:#ff0
26+
classDef resource stroke:#f0f
27+
classDef time stroke:#0ff
28+
```
29+
30+
31+
[//]: # (TODO subgraphs for phases/methods)
32+
```mermaid
33+
---
34+
title: Limits
35+
---
36+
flowchart
37+
WorkflowExecutionConcurrencyLimit([WorkflowExecutionConcurrencyLimit]):::resource
38+
GatewayIncomingPayloadSizeLimit{{GatewayIncomingPayloadSizeLimit}}:::bound
39+
subgraph vault
40+
VaultCiphertextSizeLimit
41+
VaultIdentifierKeySizeLimit
42+
VaultIdentifierOwnerSizeLimit
43+
VaultIdentifierNamespaceSizeLimit
44+
VaultPluginBatchSizeLimit
45+
VaultRequestBatchSizeLimit
46+
PerOwner.VaultSecretsLimit{{PerOwner.VaultSecretsLimit}}:::bound
47+
end
48+
49+
PerOrg.ZeroBalancePruningTimeout
50+
51+
PerOwner.WorkflowExecutionConcurrencyLimit([PerOwner.WorkflowExecutionConcurrencyLimit]):::resource
52+
53+
PerWorkflow.TriggerRegistrationsTimeout>PerWorkflow.TriggerRegistrationsTimeout]:::time
54+
PerWorkflow.TriggerSubscriptionTimeout>PerWorkflow.TriggerSubscriptionTimeout]:::time
55+
PerWorkflow.TriggerSubscriptionLimit{{PerWorkflow.TriggerSubscriptionLimit}}:::bound
56+
PerWorkflow.TriggerEventQueueLimit[[PerWorkflow.TriggerEventQueueLimit]]:::queue
57+
PerWorkflow.TriggerEventQueueTimeout>PerWorkflow.TriggerEventQueueTimeout]:::time
58+
PerWorkflow.CapabilityConcurrencyLimit([PerWorkflow.CapabilityConcurrencyLimit]):::resource
59+
PerWorkflow.CapabilityCallTimeout>PerWorkflow.CapabilityCallTimeout]:::time
60+
PerWorkflow.SecretsConcurrencyLimit
61+
PerWorkflow.ExecutionConcurrencyLimit([PerWorkflow.ExecutionConcurrencyLimit])
62+
PerWorkflow.ExecutionTimeout>PerWorkflow.ExecutionTimeout]:::time
63+
PerWorkflow.ExecutionResponseLimit{{PerWorkflow.ExecutionResponseLimit}}:::bound
64+
PerWorkflow.WASMMemoryLimit{{PerWorkflow.WASMMemoryLimit}}:::bound
65+
PerWorkflow.WASMCompressedBinarySizeLimit{{PerWorkflow.WASMCompressedBinarySizeLimit}}:::bound
66+
subgraph fetch
67+
PerWorkflow.WASMConfigSizeLimit{{PerWorkflow.WASMConfigSizeLimit}}:::bound
68+
PerWorkflow.WASMBinarySizeLimit{{PerWorkflow.WASMBinarySizeLimit}}:::bound
69+
PerWorkflow.WASMSecretsSizeLimit{{PerWorkflow.WASMSecretsSizeLimit}}:::bound
70+
end
71+
subgraph logs
72+
PerWorkflow.LogLineLimit{{PerWorkflow.LogLineLimit}}:::bound
73+
PerWorkflow.LogEventLimit{{PerWorkflow.LogEventLimit}}:::bound
74+
end
75+
PerWorkflow.ChainAllowed[/PerWorkflow.ChainAllowed\]:::gate
76+
77+
subgraph triggers
78+
direction TB
79+
80+
subgraph PerWorkflow.CRONTrigger
81+
FastestScheduleInterval>FastestScheduleInterval]:::time
82+
end
83+
subgraph PerWorkflow.HTTPTrigger
84+
RateLimit[\RateLimit/]:::rate
85+
end
86+
subgraph PerWorkflow.LogTrigger
87+
direction LR
88+
89+
EventRateLimit[\EventRateLimit/]:::rate
90+
EventSizeLimit{{EventSizeLimit}}:::bound
91+
FilterAddressLimit{{FilterAddressLimit}}:::bound
92+
FilterTopicsPerSlotLimit{{FilterTopicsPerSlotLimit}}:::bound
93+
end
94+
end
95+
subgraph actions
96+
direction TB
97+
98+
subgraph PerWorkflow.ChainWrite
99+
direction LR
100+
101+
TargetsLimit{{TargetsLimit}}:::bound
102+
ReportSizeLimit{{ReportSizeLimit}}:::bound
103+
104+
subgraph EVM
105+
GasLimit{{GasLimit}}:::bound
106+
end
107+
end
108+
subgraph PerWorkflow.ChainRead
109+
direction LR
110+
chainread.CallLimit{{CallLimit}}:::bound
111+
LogQueryBlockLimit{{LogQueryBlockLimit}}:::bound
112+
PayloadSizeLimit{{PayloadSizeLimit}}:::bound
113+
end
114+
subgraph PerWorkflow.Consensus
115+
ObservationSizeLimit{{ObservationSizeLimit}}:::bound
116+
consensus.CallLimit{{CallLimit}}:::bound
117+
end
118+
subgraph PerWorkflow.HTTPAction
119+
direction LR
120+
121+
httpaction.CallLimit{{CallLimit}}:::bound
122+
CacheAgeLimit{{CacheAgeLimit}}:::bound
123+
ConnectionTimeout{{ConnectionTimeout}}:::bound
124+
RequestSizeLimit{{RequestSizeLimit}}:::bound
125+
ResponseSizeLimit{{ResponseSizeLimit}}:::bound
126+
end
127+
end
128+
129+
130+
fetch-->PerWorkflow.WASMCompressedBinarySizeLimit-->WorkflowExecutionConcurrencyLimit-->PerOwner.WorkflowExecutionConcurrencyLimit-->PerWorkflow.TriggerSubscriptionTimeout
131+
PerWorkflow.TriggerSubscriptionTimeout-->PerWorkflow.WASMMemoryLimit-->PerWorkflow.TriggerSubscriptionLimit-->PerWorkflow.TriggerRegistrationsTimeout-->triggers-->PerWorkflow.TriggerEventQueueLimit-->PerWorkflow.TriggerEventQueueTimeout
132+
PerWorkflow.TriggerEventQueueTimeout-->PerWorkflow.ExecutionConcurrencyLimit
133+
PerWorkflow.ExecutionConcurrencyLimit:::resource-->PerWorkflow.ExecutionTimeout-->PerWorkflow.SecretsConcurrencyLimit-->PerWorkflow.ChainAllowed-->PerWorkflow.CapabilityConcurrencyLimit-->PerWorkflow.CapabilityCallTimeout-->actions-->PerWorkflow.ExecutionResponseLimit
134+
135+
classDef bound stroke:#f00
136+
classDef gate stroke:#0f0
137+
classDef queue stroke:#00f
138+
classDef rate stroke:#ff0
139+
classDef resource stroke:#f0f
140+
classDef time stroke:#0ff
141+
```

pkg/settings/cresettings/settings.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ var Default = Schema{
151151
}
152152

153153
type Schema struct {
154-
WorkflowLimit Setting[int] `unit:"{workflow}"`
154+
WorkflowLimit Setting[int] `unit:"{workflow}"` // Deprecated
155155
WorkflowExecutionConcurrencyLimit Setting[int] `unit:"{workflow}"`
156156
GatewayIncomingPayloadSizeLimit Setting[config.Size]
157157

0 commit comments

Comments
 (0)