Skip to content

Commit d7b70d8

Browse files
Backlog/v12 datasources log timeline (#2403)
* fix[backend](dta-sources): added semantic time filter support on timelne * fix[frontend](datasources): added variable datasource graph time filter * fix[frontend](datasources): removed 24h reference on ingestion timeline header * chore[](): updated go deps
1 parent 16fb862 commit d7b70d8

14 files changed

Lines changed: 137 additions & 128 deletions

File tree

backend/go.mod

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ require (
66
cloud.google.com/go/pubsub v1.51.0
77
github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/v2 v2.0.2
88
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.8.0
9-
github.com/aws/aws-sdk-go-v2/config v1.32.31
10-
github.com/aws/aws-sdk-go-v2/credentials v1.19.30
11-
github.com/aws/aws-sdk-go-v2/service/sts v1.45.0
9+
github.com/aws/aws-sdk-go-v2/config v1.32.32
10+
github.com/aws/aws-sdk-go-v2/credentials v1.19.31
11+
github.com/aws/aws-sdk-go-v2/service/sts v1.45.1
1212
github.com/coder/websocket v1.8.15
1313
github.com/crewjam/saml v0.5.1
1414
github.com/crowdstrike/gofalcon v0.21.1
@@ -52,17 +52,17 @@ require (
5252
github.com/Azure/go-amqp v1.5.0 // indirect
5353
github.com/KyleBanks/depth v1.2.1 // indirect
5454
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
55-
github.com/aws/aws-sdk-go-v2 v1.43.0 // indirect
56-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 // indirect
57-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 // indirect
58-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 // indirect
59-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 // indirect
60-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 // indirect
61-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 // indirect
62-
github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 // indirect
63-
github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 // indirect
64-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 // indirect
65-
github.com/aws/smithy-go v1.27.3 // indirect
55+
github.com/aws/aws-sdk-go-v2 v1.43.1 // indirect
56+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32 // indirect
57+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32 // indirect
58+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32 // indirect
59+
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33 // indirect
60+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14 // indirect
61+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32 // indirect
62+
github.com/aws/aws-sdk-go-v2/service/signin v1.5.1 // indirect
63+
github.com/aws/aws-sdk-go-v2/service/sso v1.33.1 // indirect
64+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1 // indirect
65+
github.com/aws/smithy-go v1.27.5 // indirect
6666
github.com/beevik/etree v1.5.0 // indirect
6767
github.com/blang/semver/v4 v4.0.0 // indirect
6868
github.com/boombuler/barcode v1.0.1 // indirect

backend/go.sum

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -48,34 +48,34 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo
4848
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
4949
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
5050
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
51-
github.com/aws/aws-sdk-go-v2 v1.43.0 h1:fharf/WhbRAVZ1du0QL7roNFxZ6T/sWr+4Ni617bwSI=
52-
github.com/aws/aws-sdk-go-v2 v1.43.0/go.mod h1:5pKeft2eJj+gElQ38Jqg4ibCqh+/AK33/0X3hip7IjM=
53-
github.com/aws/aws-sdk-go-v2/config v1.32.31 h1:n4nY9O3QKoHIkL85EX+V8RcMFtOhlpTFhGArg915PXk=
54-
github.com/aws/aws-sdk-go-v2/config v1.32.31/go.mod h1:PN0NYDCCoOpGGsZ2+elDUidmHfQBPyYzN2GCgl8HEBs=
55-
github.com/aws/aws-sdk-go-v2/credentials v1.19.30 h1:TTCvvzFU6gXa4iJecNG/0F/B0oYTiazoRECr2XyLHrY=
56-
github.com/aws/aws-sdk-go-v2/credentials v1.19.30/go.mod h1:jKxAp2AEncnliinzpgOSZDFv6+VjvWhjw/AtbfsWT9U=
57-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 h1:kfVL5wAunCJycL6MOQ6aNh6PlAYEymflcjuKmrWUA0o=
58-
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31/go.mod h1:nWfRNDAppujCQgOUd43lKT4yeLv9z3nJ3bw1G3BgQKo=
59-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 h1:Z8F3hfCY33IGpJjFAnv0wvtv1FIKj1GHmRDEYqy64tw=
60-
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31/go.mod h1:aVyUoytEyOViR6jhq6jula0xkc5NfBE2hgeF6BvOrao=
61-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 h1:hyOxUyXdh3AyjE93gBgsfziJag9ACwcs+ZpDBLzi8mw=
62-
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31/go.mod h1:OERqI9k0draSLB8O8woxY3q25ZWTELRK4RRoLMuMZFo=
63-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 h1:0MrUL35H/Y4kdFfItoR5jCgtDQ4Z/8LudAoIHRfA4hE=
64-
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32/go.mod h1:2tNZkuWz54arj8mHVf+8Y7cKkcD8Wr/fBpENgEXpjLc=
65-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 h1:mbRIur/BiHK6SKPjoBIXSE/hJ6g6JGRLuxQy1jGjlN4=
66-
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13/go.mod h1:ITg9em2KbJx1s0y4aqRX5OYWG6HBZ5TVR//OdpEZ2CQ=
67-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 h1:w2SIhW92DZPFrSL4ksVCr8IYff5OZwIcxg8+95tzvAI=
68-
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31/go.mod h1:wAhpCQbkov+IcvjozJbd2xRCoZybUEHNkcFunssNACg=
69-
github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 h1:OHH5iTQvVGmfHjX/5Q+vFuA/Rf2x6/95aJ/75QCQSm4=
70-
github.com/aws/aws-sdk-go-v2/service/signin v1.5.0/go.mod h1:mCF3AK9PpL49oOrhniUXWAfhVBVQ/XbytoE5eccZUIs=
71-
github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 h1:CaJyYhxBE0M/HJX/YvSaSmQlsI91VHB0lKU8LtLxL3A=
72-
github.com/aws/aws-sdk-go-v2/service/sso v1.33.0/go.mod h1:+e6BMRMPjBQoCw/WovYR9GLy2IU0z4Q77smOB1DraSg=
73-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 h1:tC323YV77QdafeBr6LUhLDTsboyuyHLNRwAyCP44kGU=
74-
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0/go.mod h1:SfLK1sgviHmbI+MozR9iDwDjL4cdCVZtahsjoR+z7wg=
75-
github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 h1:Pd6PNlp4t8PTXxqzstICl52Wsy78vpjFZ7PRUj44mJc=
76-
github.com/aws/aws-sdk-go-v2/service/sts v1.45.0/go.mod h1:rmQ0TnHzuLPmabgjPcsywhsSOmaBDgzR4zvDxSPsGdg=
77-
github.com/aws/smithy-go v1.27.3 h1:F3Zb497UhhskkfpJmfkXswyo+t0sh9OTBnIHjogWbVY=
78-
github.com/aws/smithy-go v1.27.3/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
51+
github.com/aws/aws-sdk-go-v2 v1.43.1 h1:t6AQIB1uQ7HJA+0CDRWjOYG5MfwnOyyDsN4vRDHcwIY=
52+
github.com/aws/aws-sdk-go-v2 v1.43.1/go.mod h1:WEzLKBh/mEjXvx1FtQMWgSxMSTVqxQzjkRtk5fa3wkg=
53+
github.com/aws/aws-sdk-go-v2/config v1.32.32 h1:CcYdrcIjulT7xbTSqeEInh/PqUWv10LMznfdbNRwHBM=
54+
github.com/aws/aws-sdk-go-v2/config v1.32.32/go.mod h1:Rk+LRPrR2oLWLOqUbhNOKYOJ8chU2aZ/R+Sdi/Bc/+4=
55+
github.com/aws/aws-sdk-go-v2/credentials v1.19.31 h1:olhkNt+ZMx+X40XxeyrflmdBx145TP+3DqaS4s8GsbI=
56+
github.com/aws/aws-sdk-go-v2/credentials v1.19.31/go.mod h1:twHrsQY+gUmkTOsDqYwBBrdP41FvzO86qjiRbj7GXcw=
57+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32 h1:zheY8iDNNzOHGS2aBJ5GWjeRbhsGuSg4+s20NZ0AywQ=
58+
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32/go.mod h1:bkw+ZoqafHSo/3lQBm+xzWf4kh79hqP9M2kPtmOFZIY=
59+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32 h1:PqiNS1QVFVctiMX30IwaY6pM3cUUfZFe+HPKmlZVY4I=
60+
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32/go.mod h1:jqisrvz2jliDnF3dW4wO9ZT1lHz1d6pXjftFyyZyqjY=
61+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32 h1:bWzam6cUCb/BRiZYmmdwPg+FvZy3/QygB9u6z7BIlnM=
62+
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32/go.mod h1:VGTWlYbW4qvz9djYt2lj35gSAZS5aZ2xKn85wXziw6A=
63+
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33 h1:J4GttOtoayrtx24b8NODgSvJTAQ2qj/E5YPEeaYrYh0=
64+
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33/go.mod h1:G8G6DL9QyBO/vuHXJ/JG29qy2hBNYrQxDYJmqMStWJ4=
65+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14 h1:SA43nfaY7+1jjMNIc2ywu99JLJLButtIdLP6j+bT870=
66+
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14/go.mod h1:Du3llKcwbQvHsTXSLzTOGQz0DTDBMEzdg7DAGu7inrY=
67+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32 h1:dWFHhQpbf7Yui4fsy+bJUy54JrmpJHIyAuUkcadqwMo=
68+
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32/go.mod h1:oN4Iix8rAbyTx6tFMP9mS8RFLJnDeZSbSsHwXYSs3tE=
69+
github.com/aws/aws-sdk-go-v2/service/signin v1.5.1 h1:i7p1pinRrWxJp+sD+u2pCWYdcB9vL1VNIPKWssNOp4o=
70+
github.com/aws/aws-sdk-go-v2/service/signin v1.5.1/go.mod h1:gtQTy/o93W5Sx0IFdAkn7Usa+Qg7ydG2+9GC7MoKqPU=
71+
github.com/aws/aws-sdk-go-v2/service/sso v1.33.1 h1:GBLnqpnDEn/+vnBGlxAJ4+jopfzW7vVT0++jLPgWN9A=
72+
github.com/aws/aws-sdk-go-v2/service/sso v1.33.1/go.mod h1:RK3AEzTbSEbGLQDd3qPA5ZLXm6mfB9shq5sbiuaF7AU=
73+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1 h1:1DWsRED+rRzFQ1rDWpwkipw67tp4kyQByQg9POWYl80=
74+
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1/go.mod h1:nadMS3uTrTANeD214BBuPg/SJpJ/UhBiNuqN1Z2Ay4c=
75+
github.com/aws/aws-sdk-go-v2/service/sts v1.45.1 h1:JugCuomdxnZwjp5xvqSuPgeWRecAvkno7EwXmR/ZXWE=
76+
github.com/aws/aws-sdk-go-v2/service/sts v1.45.1/go.mod h1:dtViDu/XqU2gq1eeTFz7Ijb7xCHoso8CaBOqYVshoqc=
77+
github.com/aws/smithy-go v1.27.5 h1:d1ro7KpYOYwP6m73YFa+Kc/A130VsAdX68SpsJwARMM=
78+
github.com/aws/smithy-go v1.27.5/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
7979
github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A=
8080
github.com/beevik/etree v1.5.0 h1:iaQZFSDS+3kYZiGoc9uKeOkUY3nYMXOKLl6KIJxiJWs=
8181
github.com/beevik/etree v1.5.0/go.mod h1:gPNJNaBGVZ9AwsidazFZyygnd+0pAU38N4D+WemwKNs=

backend/modules/eventprocessing/usecase/ingestion_stats.go

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -131,20 +131,9 @@ func resolveStatus(status string) (string, string, error) {
131131

132132
// resolveWindow defaults to the last 24h when from/to are absent (RFC3339).
133133
func resolveWindow(from, to string) (string, string) {
134-
now := time.Now().UTC()
135-
toT := now
136-
if to != "" {
137-
if parsed, err := time.Parse(time.RFC3339, to); err == nil {
138-
toT = parsed
139-
}
140-
}
141-
fromT := toT.Add(-defaultStatsWindow)
142-
if from != "" {
143-
if parsed, err := time.Parse(time.RFC3339, from); err == nil {
144-
fromT = parsed
145-
}
146-
}
147-
return fromT.UTC().Format(time.RFC3339), toT.UTC().Format(time.RFC3339)
134+
if to == "" { to = "now" }
135+
if from == "" { from = "now-" + defaultStatsWindow.String() }
136+
return from, to
148137
}
149138

150139
// resolveInterval picks a date_histogram interval. An explicit value wins;

frontend/src/features/datasources/pages/DataSourcesPage.tsx

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import { cn } from '@/shared/lib/utils'
3131
import { Button } from '@/shared/components/ui/button'
3232
import { Input } from '@/shared/components/ui/input'
3333
import { InfiniteScrollSentinel } from '@/shared/components/ui/infinite-scroll'
34+
import { TimeRangePicker, presetRange, type TimeRange } from '@/shared/components/ui/time-range-picker'
3435
import {
3536
datasourcesHttpService as svc,
3637
DatasourcesHttpError,
@@ -134,6 +135,7 @@ export function DataSourcesPage() {
134135
const [usage, setUsage] = useState<Usage | null>(null)
135136
const [stats, setStats] = useState<Record<string, IngestionBucket>>({})
136137
const [timeline, setTimeline] = useState<TimelinePoint[]>([])
138+
const [range, setRange] = useState<TimeRange>(() => presetRange('24h'))
137139
const [counts, setCounts] = useState<Record<TabId, number> | null>(null)
138140
const [openId, setOpenId] = useState<number | null>(null)
139141

@@ -185,7 +187,7 @@ export function DataSourcesPage() {
185187
svc.groups(),
186188
svc.usage(),
187189
svc.ingestionTotals(),
188-
svc.ingestionTimeline(),
190+
svc.ingestionTimeline(range),
189191
])
190192
if (g.status === 'fulfilled') setGroups(g.value.items ?? [])
191193
if (u.status === 'fulfilled') setUsage(u.value)
@@ -219,7 +221,7 @@ export function DataSourcesPage() {
219221
offline: tot(cOffline)+tot(cNotConnected),
220222
})
221223
setLoading(false)
222-
}, [groupId,setLoading])
224+
}, [groupId, range, setLoading])
223225

224226
useEffect(() => {
225227
void loadAux()
@@ -255,7 +257,7 @@ export function DataSourcesPage() {
255257

256258
<div className="mt-5 grid grid-cols-12 gap-4">
257259
<div className="col-span-12 lg:col-span-8">
258-
<IngestionCard timeline={timeline} />
260+
<IngestionCard timeline={timeline} range={range} onRange={setRange} />
259261
</div>
260262
<div className="col-span-12 lg:col-span-4">
261263
<UsageCard usage={usage} />
@@ -371,7 +373,15 @@ function Header({ total }: { total: number }) {
371373

372374
/* ─── Ingestion overview (real timeline) ───────────────────────────────── */
373375

374-
function IngestionCard({ timeline }: { timeline: TimelinePoint[] }) {
376+
function IngestionCard({
377+
timeline,
378+
range,
379+
onRange,
380+
}: {
381+
timeline: TimelinePoint[]
382+
range: TimeRange
383+
onRange: (r: TimeRange) => void
384+
}) {
375385
const { t } = useTranslation()
376386
const total = timeline.reduce((a, p) => a + p.count, 0)
377387
const values = timeline.map((p) => p.count)
@@ -389,12 +399,17 @@ function IngestionCard({ timeline }: { timeline: TimelinePoint[] }) {
389399

390400
return (
391401
<div className="rounded-xl border border-border bg-card p-6">
392-
<div className="text-[11px] uppercase tracking-wider text-muted-foreground">
393-
{t('datasources.ingestion.title')}
394-
</div>
395-
<div className="mt-1 flex items-baseline gap-2">
396-
<span className="text-3xl font-semibold tabular-nums">{formatCount(total)}</span>
397-
<span className="text-sm text-muted-foreground">{t('datasources.ingestion.received')}</span>
402+
<div className="flex items-start justify-between gap-3">
403+
<div>
404+
<div className="text-[11px] uppercase tracking-wider text-muted-foreground">
405+
{t('datasources.ingestion.title')}
406+
</div>
407+
<div className="mt-1 flex items-baseline gap-2">
408+
<span className="text-3xl font-semibold tabular-nums">{formatCount(total)}</span>
409+
<span className="text-sm text-muted-foreground">{t('datasources.ingestion.received')}</span>
410+
</div>
411+
</div>
412+
<TimeRangePicker value={range} onChange={onRange} align="right" />
398413
</div>
399414
{values.length === 0 ? (
400415
<div className="mt-4 flex h-24 items-center justify-center text-xs text-muted-foreground">
@@ -412,10 +427,6 @@ function IngestionCard({ timeline }: { timeline: TimelinePoint[] }) {
412427
<path d={linePath} fill="none" stroke="rgb(34 211 238)" strokeOpacity="0.85" strokeWidth="1.75" strokeLinejoin="round" strokeLinecap="round" />
413428
</svg>
414429
)}
415-
<div className="mt-2 flex justify-between text-[10px] text-muted-foreground">
416-
<span>{t('datasources.ingestion.ago24h')}</span>
417-
<span>{t('datasources.ingestion.now')}</span>
418-
</div>
419430
</div>
420431
)
421432
}

frontend/src/features/datasources/services/datasources-http.service.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { ApiError, createApiClient } from '@/shared/lib/api-client'
2+
import type { TimeRange } from '@/shared/components/ui/time-range-picker'
23
import type {
34
AssetGroup,
45
Datasource,
@@ -66,11 +67,19 @@ export const datasourcesHttpService = {
6667
createGroup: (input: { groupName: string; groupDescription?: string }) =>
6768
api.post<AssetGroup>('/datasource-groups', input),
6869

69-
// Live ingestion stats from v11-statistics-* (no DB). Keyed by dataSource name.
70+
// Live ingestion stats from v11-statistics-* (no DB). Keyed by dataSource name.S
7071
ingestionTotals: () =>
7172
api.get<IngestionTotals>('/eventprocessing/ingestion-stats?groupBy=dataSource&status=received&top=500'),
72-
ingestionTimeline: () =>
73-
api.get<IngestionTimeline>('/eventprocessing/ingestion-stats/timeline?status=received&interval=auto'),
73+
ingestionTimeline: (range?: TimeRange) => {
74+
const interval_time = range?.interval
75+
const qs = new URLSearchParams({
76+
status: 'received',
77+
interval: interval_time?`1${interval_time[0]}`:'auto',
78+
})
79+
if (range?.from) qs.set('from', range.from)
80+
if (range?.to) qs.set('to', range.to)
81+
return api.get<IngestionTimeline>(`/eventprocessing/ingestion-stats/timeline?${qs.toString()}`)
82+
},
7483
// Per-source ingestion trend (scopes the timeline to one dataSource by name).
7584
ingestionTimelineFor: (name: string) =>
7685
api.get<IngestionTimeline>(

frontend/src/shared/i18n/locales/de.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3491,7 +3491,7 @@
34913491
"retry": "Erneut versuchen",
34923492
"none": "Keine Quellen entsprechen dieser Ansicht.",
34933493
"ingestion": {
3494-
"title": "Ingestion · letzte 24 Stunden",
3494+
"title": "Ingestion",
34953495
"received": "empfangene Ereignisse",
34963496
"none": "Keine Ingestion in den letzten 24 Stunden.",
34973497
"ago24h": "vor 24h",

frontend/src/shared/i18n/locales/en.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3630,7 +3630,7 @@
36303630
"retry": "Retry",
36313631
"none": "No data sources match this view.",
36323632
"ingestion": {
3633-
"title": "Ingestion · last 24 hours",
3633+
"title": "Ingestion",
36343634
"received": "events received",
36353635
"none": "No ingestion in the last 24 hours.",
36363636
"ago24h": "24h ago",

frontend/src/shared/i18n/locales/es.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3453,7 +3453,7 @@
34533453
"retry": "Reintentar",
34543454
"none": "Ninguna fuente coincide con esta vista.",
34553455
"ingestion": {
3456-
"title": "Ingestión · últimas 24 horas",
3456+
"title": "Ingestión",
34573457
"received": "eventos recibidos",
34583458
"none": "Sin ingestión en las últimas 24 horas.",
34593459
"ago24h": "hace 24h",

frontend/src/shared/i18n/locales/fr.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3491,7 +3491,7 @@
34913491
"retry": "Réessayer",
34923492
"none": "Aucune source ne correspond à cette vue.",
34933493
"ingestion": {
3494-
"title": "Ingestion · dernières 24 heures",
3494+
"title": "Ingestion",
34953495
"received": "événements reçus",
34963496
"none": "Aucune ingestion ces dernières 24 heures.",
34973497
"ago24h": "il y a 24h",

frontend/src/shared/i18n/locales/it.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3491,7 +3491,7 @@
34913491
"retry": "Riprova",
34923492
"none": "Nessuna origine corrisponde a questa vista.",
34933493
"ingestion": {
3494-
"title": "Ingestione · ultime 24 ore",
3494+
"title": "Ingestione",
34953495
"received": "eventi ricevuti",
34963496
"none": "Nessuna ingestione nelle ultime 24 ore.",
34973497
"ago24h": "24h fa",

0 commit comments

Comments
 (0)