Skip to content

Commit dd69049

Browse files
update db charts (supabase#36534)
1 parent fd2a12a commit dd69049

File tree

2 files changed

+42
-87
lines changed

2 files changed

+42
-87
lines changed

apps/studio/components/ui/Charts/ChartHeader.tsx

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,20 @@ const ChartHeader = ({
3939
{title}
4040
</h3>
4141
{docsUrl && (
42-
<Link
43-
href={docsUrl}
44-
target="_blank"
45-
className="text-foreground-lighter hover:text-foreground-light"
46-
>
47-
<InfoIcon className="w-3.5 h-3.5" />
48-
</Link>
42+
<Tooltip>
43+
<TooltipTrigger asChild>
44+
<Link
45+
href={docsUrl}
46+
target="_blank"
47+
className="text-foreground-lighter hover:text-foreground-light"
48+
>
49+
<InfoIcon className="w-3 h-3" />
50+
</Link>
51+
</TooltipTrigger>
52+
<TooltipContent side="top" align="center">
53+
Read docs
54+
</TooltipContent>
55+
</Tooltip>
4956
)}
5057
</div>
5158
)

apps/studio/data/reports/database-charts.ts

Lines changed: 28 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
4545
showLegend: true,
4646
hideChartType: false,
4747
defaultChartStyle: 'line',
48-
showMaxValue: true,
48+
showMaxValue: false,
4949
showGrid: true,
5050
syncId: 'database-reports',
5151
valuePrecision: 2,
@@ -59,36 +59,21 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
5959
provider: 'infra-monitoring',
6060
label: 'Used',
6161
tooltip:
62-
'Total RAM currently in use by the system and applications. High usage may indicate memory pressure.',
62+
'RAM in use by Postgres and the operating system. Sustained high usage may indicate memory pressure',
6363
},
6464
{
6565
attribute: 'ram_usage_cache_and_buffers',
6666
provider: 'infra-monitoring',
6767
label: 'Cache + buffers',
6868
tooltip:
69-
'RAM used for caching and buffering disk operations. Higher values improve read performance.',
69+
'RAM used by the operating system page cache and PostgreSQL buffers to accelerate disk reads/writes',
7070
},
7171
{
7272
attribute: 'ram_usage_free',
7373
provider: 'infra-monitoring',
7474
label: 'Free',
7575
tooltip:
76-
'Available unused RAM. A small amount is always reserved. High unused RAM present with erratic Used RAM may indicate unoptimized queries disrupting cache.',
77-
},
78-
{
79-
attribute: 'ram_usage_swap',
80-
provider: 'infra-monitoring',
81-
label: 'Swap',
82-
omitFromTotal: false, // we can set this to true if we want to omit the swap from the total
83-
tooltip:
84-
'Memory swapped to disk when RAM is full. An instance has 1GB of SWAP. High swap with high disk I/O signals memory stress.',
85-
},
86-
{
87-
attribute: 'ram_usage_total',
88-
provider: 'infra-monitoring',
89-
label: 'Max',
90-
isMaxValue: true,
91-
tooltip: 'Total RAM',
76+
'Unallocated memory available for use. A small portion is always reserved by the operating system',
9277
},
9378
],
9479
},
@@ -116,23 +101,23 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
116101
label: 'System',
117102
format: '%',
118103
tooltip:
119-
'CPU time spent on kernel operations (e.g., process scheduling, memory management). High values may indicate system overhead.',
104+
'CPU time spent on kernel operations (e.g., process scheduling, memory management). High values may indicate system overhead',
120105
},
121106
{
122107
attribute: 'cpu_usage_busy_user',
123108
provider: 'infra-monitoring',
124109
label: 'User',
125110
format: '%',
126111
tooltip:
127-
'CPU time used by database queries and user-space processes. High values may suggest CPU-intensive queries.',
112+
'CPU time used by database queries and user-space processes. High values may suggest CPU-intensive queries',
128113
},
129114
{
130115
attribute: 'cpu_usage_busy_iowait',
131116
provider: 'infra-monitoring',
132117
label: 'IOwait',
133118
format: '%',
134119
tooltip:
135-
'CPU time waiting for disk or network I/O. High values may indicate disk bottlenecks.',
120+
'CPU time waiting for disk or network I/O. High values may indicate disk bottlenecks',
136121
},
137122
{
138123
attribute: 'cpu_usage_busy_irqs',
@@ -147,7 +132,7 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
147132
label: 'Other',
148133
format: '%',
149134
tooltip:
150-
'CPU time spent on other tasks (e.g., background processes, software interrupts).',
135+
'CPU time spent on other tasks (e.g., background processes, software interrupts)',
151136
},
152137
{
153138
attribute: 'cpu_usage_max',
@@ -161,7 +146,7 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
161146
},
162147
{
163148
id: 'disk-iops',
164-
label: 'Disk IOps',
149+
label: 'Disk Input/Output operations per second (IOPS)',
165150
syncId: 'database-reports',
166151
hide: false,
167152
showTooltip: true,
@@ -180,16 +165,16 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
180165
{
181166
attribute: 'disk_iops_write',
182167
provider: 'infra-monitoring',
183-
label: 'IOps write/s',
168+
label: 'write IOPS',
184169
tooltip:
185-
'Number of write operations per second. High values indicate frequent data writes, logging, or transaction activity.',
170+
'Number of write operations per second. High values indicate frequent data writes, logging, or transaction activity',
186171
},
187172
{
188173
attribute: 'disk_iops_read',
189174
provider: 'infra-monitoring',
190-
label: 'IOps read/s',
175+
label: 'read IOPS',
191176
tooltip:
192-
'Number of read operations per second. High values suggest frequent disk reads due to queries or poor caching.',
177+
'Number of read operations per second. High values suggest frequent disk reads due to queries or poor caching',
193178
},
194179
{
195180
attribute: 'disk_iops_max',
@@ -225,7 +210,7 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
225210
provider: 'infra-monitoring',
226211
label: 'IO Usage',
227212
tooltip:
228-
'The actual number of IO operations per second that the database is currently using.',
213+
'The actual number of IO operations per second that the database is currently using',
229214
},
230215
],
231216
},
@@ -252,23 +237,23 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
252237
provider: 'infra-monitoring',
253238
format: 'bytes',
254239
label: 'System',
255-
tooltip: 'Reserved space for the system to ensure your database runs smoothly.',
240+
tooltip: 'Reserved space for the system to ensure your database runs smoothly',
256241
},
257242
{
258243
attribute: 'disk_fs_used_wal',
259244
provider: 'infra-monitoring',
260245
format: 'bytes',
261246
label: 'WAL',
262247
tooltip:
263-
'Disk usage by the write-ahead log. The usage depends on your WAL settings and the amount of data being written to the database.',
248+
'Disk usage by the write-ahead log. The usage depends on your WAL settings and the amount of data being written to the database',
264249
},
265250

266251
{
267252
attribute: 'pg_database_size',
268253
provider: 'infra-monitoring',
269254
format: 'bytes',
270255
label: 'Database',
271-
tooltip: 'Disk usage by your database (tables, indexes, data, ...).',
256+
tooltip: 'Disk usage by your database (tables, indexes, data, ...)',
272257
},
273258
{
274259
attribute: 'disk_fs_size',
@@ -306,43 +291,6 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
306291
}),
307292
],
308293
},
309-
{
310-
id: 'network-traffic',
311-
label: 'Network Traffic',
312-
syncId: 'database-reports',
313-
valuePrecision: 1,
314-
showTooltip: true,
315-
showLegend: true,
316-
showMaxValue: false,
317-
showGrid: true,
318-
YAxisProps: {
319-
width: 65,
320-
tickFormatter: (value: any) => formatBytes(value, 1),
321-
},
322-
hideChartType: false,
323-
defaultChartStyle: 'line',
324-
hideHighlightedValue: true,
325-
showTotal: false,
326-
attributes: [
327-
{
328-
attribute: 'network_receive_bytes',
329-
provider: 'infra-monitoring',
330-
label: 'Ingress',
331-
manipulateValue: (value: number) => value * -1,
332-
tooltip:
333-
'Data received by your database from clients. High values may indicate frequent queries, large data inserts, or many incoming connections.',
334-
stackId: '1',
335-
},
336-
{
337-
attribute: 'network_transmit_bytes',
338-
provider: 'infra-monitoring',
339-
label: 'Egress',
340-
tooltip:
341-
'Data sent from your database to clients. High values may indicate large query results or numerous outgoing connections.',
342-
stackId: '2',
343-
},
344-
],
345-
},
346294
{
347295
id: 'client-connections',
348296
label: 'Database client connections',
@@ -352,46 +300,46 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
352300
showLegend: true,
353301
showMaxValue: true,
354302
hideChartType: false,
303+
showGrid: true,
304+
YAxisProps: { width: 30 },
355305
defaultChartStyle: 'line',
356306
attributes: [
357307
{
358308
attribute: 'client_connections_postgres',
359309
provider: 'infra-monitoring',
360310
label: 'Postgres',
361311
tooltip:
362-
'Direct connections to the Postgres database from your application and external clients.',
312+
'Direct connections to the Postgres database from your application and external clients',
363313
},
364314
{
365315
attribute: 'client_connections_authenticator',
366316
provider: 'infra-monitoring',
367317
label: 'PostgREST',
368-
tooltip: 'Connections magaged by PostgREST to auto-generate RESTful API.',
318+
tooltip: 'Connection pool managed by PostgREST',
369319
},
370320
{
371321
attribute: 'client_connections_supabase_admin',
372322
provider: 'infra-monitoring',
373-
label: 'Admin',
323+
label: 'Reserved',
374324
tooltip:
375-
'Administrative connections used by various Supabase services for internal operations and maintenance tasks.',
325+
'Administrative connections used by various Supabase services for internal operations and maintenance tasks',
376326
},
377327
{
378328
attribute: 'client_connections_supabase_auth_admin',
379329
provider: 'infra-monitoring',
380330
label: 'Auth',
381-
tooltip:
382-
'Administrative connections used by Supabase Auth service for user management and authentication operations.',
331+
tooltip: 'Connection pool managed by Supabase Auth',
383332
},
384333
{
385334
attribute: 'client_connections_supabase_storage_admin',
386335
provider: 'infra-monitoring',
387336
label: 'Storage',
388-
tooltip:
389-
'Administrative connections used by Supabase Storage service for file operations and bucket management.',
337+
tooltip: 'Connection pool managed by Supabase Storage',
390338
},
391339
{
392340
attribute: 'client_connections_other',
393341
provider: 'infra-monitoring',
394-
label: 'Other',
342+
label: 'Other roles',
395343
tooltip: "Miscellaneous database connections that don't fall into other categories.",
396344
},
397345
{
@@ -406,7 +354,7 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
406354
},
407355
{
408356
id: 'pgbouncer-connections',
409-
label: 'Pooler client connections',
357+
label: 'Dedicated Pooler client connections',
410358
syncId: 'database-reports',
411359
valuePrecision: 0,
412360
hide: false,
@@ -437,7 +385,7 @@ export const getReportAttributesV2: (org: Organization, project: Project) => Rep
437385
},
438386
{
439387
id: 'supavisor-connections-active',
440-
label: 'Supavisor client connections',
388+
label: 'Shared Pooler (Supavisor) client connections',
441389
syncId: 'database-reports',
442390
valuePrecision: 0,
443391
hide: isFreePlan,

0 commit comments

Comments
 (0)