Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions backend/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ require (
cloud.google.com/go/pubsub v1.51.0
github.com/Azure/azure-sdk-for-go/sdk/messaging/azeventhubs/v2 v2.0.2
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.8.0
github.com/aws/aws-sdk-go-v2/config v1.32.31
github.com/aws/aws-sdk-go-v2/credentials v1.19.30
github.com/aws/aws-sdk-go-v2/service/sts v1.45.0
github.com/aws/aws-sdk-go-v2/config v1.32.32
github.com/aws/aws-sdk-go-v2/credentials v1.19.31
github.com/aws/aws-sdk-go-v2/service/sts v1.45.1
github.com/coder/websocket v1.8.15
github.com/crewjam/saml v0.5.1
github.com/crowdstrike/gofalcon v0.21.1
Expand Down Expand Up @@ -52,17 +52,17 @@ require (
github.com/Azure/go-amqp v1.5.0 // indirect
github.com/KyleBanks/depth v1.2.1 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/aws/aws-sdk-go-v2 v1.43.0 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 // indirect
github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 // indirect
github.com/aws/smithy-go v1.27.3 // indirect
github.com/aws/aws-sdk-go-v2 v1.43.1 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32 // indirect
github.com/aws/aws-sdk-go-v2/service/signin v1.5.1 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.33.1 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1 // indirect
github.com/aws/smithy-go v1.27.5 // indirect
github.com/beevik/etree v1.5.0 // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/boombuler/barcode v1.0.1 // indirect
Expand Down
56 changes: 28 additions & 28 deletions backend/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -48,34 +48,34 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo
github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/aws/aws-sdk-go-v2 v1.43.0 h1:fharf/WhbRAVZ1du0QL7roNFxZ6T/sWr+4Ni617bwSI=
github.com/aws/aws-sdk-go-v2 v1.43.0/go.mod h1:5pKeft2eJj+gElQ38Jqg4ibCqh+/AK33/0X3hip7IjM=
github.com/aws/aws-sdk-go-v2/config v1.32.31 h1:n4nY9O3QKoHIkL85EX+V8RcMFtOhlpTFhGArg915PXk=
github.com/aws/aws-sdk-go-v2/config v1.32.31/go.mod h1:PN0NYDCCoOpGGsZ2+elDUidmHfQBPyYzN2GCgl8HEBs=
github.com/aws/aws-sdk-go-v2/credentials v1.19.30 h1:TTCvvzFU6gXa4iJecNG/0F/B0oYTiazoRECr2XyLHrY=
github.com/aws/aws-sdk-go-v2/credentials v1.19.30/go.mod h1:jKxAp2AEncnliinzpgOSZDFv6+VjvWhjw/AtbfsWT9U=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 h1:kfVL5wAunCJycL6MOQ6aNh6PlAYEymflcjuKmrWUA0o=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31/go.mod h1:nWfRNDAppujCQgOUd43lKT4yeLv9z3nJ3bw1G3BgQKo=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 h1:Z8F3hfCY33IGpJjFAnv0wvtv1FIKj1GHmRDEYqy64tw=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31/go.mod h1:aVyUoytEyOViR6jhq6jula0xkc5NfBE2hgeF6BvOrao=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 h1:hyOxUyXdh3AyjE93gBgsfziJag9ACwcs+ZpDBLzi8mw=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31/go.mod h1:OERqI9k0draSLB8O8woxY3q25ZWTELRK4RRoLMuMZFo=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 h1:0MrUL35H/Y4kdFfItoR5jCgtDQ4Z/8LudAoIHRfA4hE=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32/go.mod h1:2tNZkuWz54arj8mHVf+8Y7cKkcD8Wr/fBpENgEXpjLc=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 h1:mbRIur/BiHK6SKPjoBIXSE/hJ6g6JGRLuxQy1jGjlN4=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13/go.mod h1:ITg9em2KbJx1s0y4aqRX5OYWG6HBZ5TVR//OdpEZ2CQ=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 h1:w2SIhW92DZPFrSL4ksVCr8IYff5OZwIcxg8+95tzvAI=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31/go.mod h1:wAhpCQbkov+IcvjozJbd2xRCoZybUEHNkcFunssNACg=
github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 h1:OHH5iTQvVGmfHjX/5Q+vFuA/Rf2x6/95aJ/75QCQSm4=
github.com/aws/aws-sdk-go-v2/service/signin v1.5.0/go.mod h1:mCF3AK9PpL49oOrhniUXWAfhVBVQ/XbytoE5eccZUIs=
github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 h1:CaJyYhxBE0M/HJX/YvSaSmQlsI91VHB0lKU8LtLxL3A=
github.com/aws/aws-sdk-go-v2/service/sso v1.33.0/go.mod h1:+e6BMRMPjBQoCw/WovYR9GLy2IU0z4Q77smOB1DraSg=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 h1:tC323YV77QdafeBr6LUhLDTsboyuyHLNRwAyCP44kGU=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0/go.mod h1:SfLK1sgviHmbI+MozR9iDwDjL4cdCVZtahsjoR+z7wg=
github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 h1:Pd6PNlp4t8PTXxqzstICl52Wsy78vpjFZ7PRUj44mJc=
github.com/aws/aws-sdk-go-v2/service/sts v1.45.0/go.mod h1:rmQ0TnHzuLPmabgjPcsywhsSOmaBDgzR4zvDxSPsGdg=
github.com/aws/smithy-go v1.27.3 h1:F3Zb497UhhskkfpJmfkXswyo+t0sh9OTBnIHjogWbVY=
github.com/aws/smithy-go v1.27.3/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
github.com/aws/aws-sdk-go-v2 v1.43.1 h1:t6AQIB1uQ7HJA+0CDRWjOYG5MfwnOyyDsN4vRDHcwIY=
github.com/aws/aws-sdk-go-v2 v1.43.1/go.mod h1:WEzLKBh/mEjXvx1FtQMWgSxMSTVqxQzjkRtk5fa3wkg=
github.com/aws/aws-sdk-go-v2/config v1.32.32 h1:CcYdrcIjulT7xbTSqeEInh/PqUWv10LMznfdbNRwHBM=
github.com/aws/aws-sdk-go-v2/config v1.32.32/go.mod h1:Rk+LRPrR2oLWLOqUbhNOKYOJ8chU2aZ/R+Sdi/Bc/+4=
github.com/aws/aws-sdk-go-v2/credentials v1.19.31 h1:olhkNt+ZMx+X40XxeyrflmdBx145TP+3DqaS4s8GsbI=
github.com/aws/aws-sdk-go-v2/credentials v1.19.31/go.mod h1:twHrsQY+gUmkTOsDqYwBBrdP41FvzO86qjiRbj7GXcw=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32 h1:zheY8iDNNzOHGS2aBJ5GWjeRbhsGuSg4+s20NZ0AywQ=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32/go.mod h1:bkw+ZoqafHSo/3lQBm+xzWf4kh79hqP9M2kPtmOFZIY=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32 h1:PqiNS1QVFVctiMX30IwaY6pM3cUUfZFe+HPKmlZVY4I=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32/go.mod h1:jqisrvz2jliDnF3dW4wO9ZT1lHz1d6pXjftFyyZyqjY=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32 h1:bWzam6cUCb/BRiZYmmdwPg+FvZy3/QygB9u6z7BIlnM=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32/go.mod h1:VGTWlYbW4qvz9djYt2lj35gSAZS5aZ2xKn85wXziw6A=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33 h1:J4GttOtoayrtx24b8NODgSvJTAQ2qj/E5YPEeaYrYh0=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33/go.mod h1:G8G6DL9QyBO/vuHXJ/JG29qy2hBNYrQxDYJmqMStWJ4=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14 h1:SA43nfaY7+1jjMNIc2ywu99JLJLButtIdLP6j+bT870=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14/go.mod h1:Du3llKcwbQvHsTXSLzTOGQz0DTDBMEzdg7DAGu7inrY=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32 h1:dWFHhQpbf7Yui4fsy+bJUy54JrmpJHIyAuUkcadqwMo=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32/go.mod h1:oN4Iix8rAbyTx6tFMP9mS8RFLJnDeZSbSsHwXYSs3tE=
github.com/aws/aws-sdk-go-v2/service/signin v1.5.1 h1:i7p1pinRrWxJp+sD+u2pCWYdcB9vL1VNIPKWssNOp4o=
github.com/aws/aws-sdk-go-v2/service/signin v1.5.1/go.mod h1:gtQTy/o93W5Sx0IFdAkn7Usa+Qg7ydG2+9GC7MoKqPU=
github.com/aws/aws-sdk-go-v2/service/sso v1.33.1 h1:GBLnqpnDEn/+vnBGlxAJ4+jopfzW7vVT0++jLPgWN9A=
github.com/aws/aws-sdk-go-v2/service/sso v1.33.1/go.mod h1:RK3AEzTbSEbGLQDd3qPA5ZLXm6mfB9shq5sbiuaF7AU=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1 h1:1DWsRED+rRzFQ1rDWpwkipw67tp4kyQByQg9POWYl80=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1/go.mod h1:nadMS3uTrTANeD214BBuPg/SJpJ/UhBiNuqN1Z2Ay4c=
github.com/aws/aws-sdk-go-v2/service/sts v1.45.1 h1:JugCuomdxnZwjp5xvqSuPgeWRecAvkno7EwXmR/ZXWE=
github.com/aws/aws-sdk-go-v2/service/sts v1.45.1/go.mod h1:dtViDu/XqU2gq1eeTFz7Ijb7xCHoso8CaBOqYVshoqc=
github.com/aws/smithy-go v1.27.5 h1:d1ro7KpYOYwP6m73YFa+Kc/A130VsAdX68SpsJwARMM=
github.com/aws/smithy-go v1.27.5/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A=
github.com/beevik/etree v1.5.0 h1:iaQZFSDS+3kYZiGoc9uKeOkUY3nYMXOKLl6KIJxiJWs=
github.com/beevik/etree v1.5.0/go.mod h1:gPNJNaBGVZ9AwsidazFZyygnd+0pAU38N4D+WemwKNs=
Expand Down
17 changes: 3 additions & 14 deletions backend/modules/eventprocessing/usecase/ingestion_stats.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,20 +131,9 @@ func resolveStatus(status string) (string, string, error) {

// resolveWindow defaults to the last 24h when from/to are absent (RFC3339).
func resolveWindow(from, to string) (string, string) {
now := time.Now().UTC()
toT := now
if to != "" {
if parsed, err := time.Parse(time.RFC3339, to); err == nil {
toT = parsed
}
}
fromT := toT.Add(-defaultStatsWindow)
if from != "" {
if parsed, err := time.Parse(time.RFC3339, from); err == nil {
fromT = parsed
}
}
return fromT.UTC().Format(time.RFC3339), toT.UTC().Format(time.RFC3339)
if to == "" { to = "now" }
if from == "" { from = "now-" + defaultStatsWindow.String() }
return from, to
}

// resolveInterval picks a date_histogram interval. An explicit value wins;
Expand Down
39 changes: 25 additions & 14 deletions frontend/src/features/datasources/pages/DataSourcesPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import { cn } from '@/shared/lib/utils'
import { Button } from '@/shared/components/ui/button'
import { Input } from '@/shared/components/ui/input'
import { InfiniteScrollSentinel } from '@/shared/components/ui/infinite-scroll'
import { TimeRangePicker, presetRange, type TimeRange } from '@/shared/components/ui/time-range-picker'
import {
datasourcesHttpService as svc,
DatasourcesHttpError,
Expand Down Expand Up @@ -134,6 +135,7 @@ export function DataSourcesPage() {
const [usage, setUsage] = useState<Usage | null>(null)
const [stats, setStats] = useState<Record<string, IngestionBucket>>({})
const [timeline, setTimeline] = useState<TimelinePoint[]>([])
const [range, setRange] = useState<TimeRange>(() => presetRange('24h'))
const [counts, setCounts] = useState<Record<TabId, number> | null>(null)
const [openId, setOpenId] = useState<number | null>(null)

Expand Down Expand Up @@ -185,7 +187,7 @@ export function DataSourcesPage() {
svc.groups(),
svc.usage(),
svc.ingestionTotals(),
svc.ingestionTimeline(),
svc.ingestionTimeline(range),
])
if (g.status === 'fulfilled') setGroups(g.value.items ?? [])
if (u.status === 'fulfilled') setUsage(u.value)
Expand Down Expand Up @@ -219,7 +221,7 @@ export function DataSourcesPage() {
offline: tot(cOffline)+tot(cNotConnected),
})
setLoading(false)
}, [groupId,setLoading])
}, [groupId, range, setLoading])

useEffect(() => {
void loadAux()
Expand Down Expand Up @@ -255,7 +257,7 @@ export function DataSourcesPage() {

<div className="mt-5 grid grid-cols-12 gap-4">
<div className="col-span-12 lg:col-span-8">
<IngestionCard timeline={timeline} />
<IngestionCard timeline={timeline} range={range} onRange={setRange} />
</div>
<div className="col-span-12 lg:col-span-4">
<UsageCard usage={usage} />
Expand Down Expand Up @@ -371,7 +373,15 @@ function Header({ total }: { total: number }) {

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

function IngestionCard({ timeline }: { timeline: TimelinePoint[] }) {
function IngestionCard({
timeline,
range,
onRange,
}: {
timeline: TimelinePoint[]
range: TimeRange
onRange: (r: TimeRange) => void
}) {
const { t } = useTranslation()
const total = timeline.reduce((a, p) => a + p.count, 0)
const values = timeline.map((p) => p.count)
Expand All @@ -389,12 +399,17 @@ function IngestionCard({ timeline }: { timeline: TimelinePoint[] }) {

return (
<div className="rounded-xl border border-border bg-card p-6">
<div className="text-[11px] uppercase tracking-wider text-muted-foreground">
{t('datasources.ingestion.title')}
</div>
<div className="mt-1 flex items-baseline gap-2">
<span className="text-3xl font-semibold tabular-nums">{formatCount(total)}</span>
<span className="text-sm text-muted-foreground">{t('datasources.ingestion.received')}</span>
<div className="flex items-start justify-between gap-3">
<div>
<div className="text-[11px] uppercase tracking-wider text-muted-foreground">
{t('datasources.ingestion.title')}
</div>
<div className="mt-1 flex items-baseline gap-2">
<span className="text-3xl font-semibold tabular-nums">{formatCount(total)}</span>
<span className="text-sm text-muted-foreground">{t('datasources.ingestion.received')}</span>
</div>
</div>
<TimeRangePicker value={range} onChange={onRange} align="right" />
</div>
{values.length === 0 ? (
<div className="mt-4 flex h-24 items-center justify-center text-xs text-muted-foreground">
Expand All @@ -412,10 +427,6 @@ function IngestionCard({ timeline }: { timeline: TimelinePoint[] }) {
<path d={linePath} fill="none" stroke="rgb(34 211 238)" strokeOpacity="0.85" strokeWidth="1.75" strokeLinejoin="round" strokeLinecap="round" />
</svg>
)}
<div className="mt-2 flex justify-between text-[10px] text-muted-foreground">
<span>{t('datasources.ingestion.ago24h')}</span>
<span>{t('datasources.ingestion.now')}</span>
</div>
</div>
)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { ApiError, createApiClient } from '@/shared/lib/api-client'
import type { TimeRange } from '@/shared/components/ui/time-range-picker'
import type {
AssetGroup,
Datasource,
Expand Down Expand Up @@ -66,11 +67,19 @@ export const datasourcesHttpService = {
createGroup: (input: { groupName: string; groupDescription?: string }) =>
api.post<AssetGroup>('/datasource-groups', input),

// Live ingestion stats from v11-statistics-* (no DB). Keyed by dataSource name.
// Live ingestion stats from v11-statistics-* (no DB). Keyed by dataSource name.S
ingestionTotals: () =>
api.get<IngestionTotals>('/eventprocessing/ingestion-stats?groupBy=dataSource&status=received&top=500'),
ingestionTimeline: () =>
api.get<IngestionTimeline>('/eventprocessing/ingestion-stats/timeline?status=received&interval=auto'),
ingestionTimeline: (range?: TimeRange) => {
const interval_time = range?.interval
const qs = new URLSearchParams({
status: 'received',
interval: interval_time?`1${interval_time[0]}`:'auto',
})
if (range?.from) qs.set('from', range.from)
if (range?.to) qs.set('to', range.to)
return api.get<IngestionTimeline>(`/eventprocessing/ingestion-stats/timeline?${qs.toString()}`)
},
// Per-source ingestion trend (scopes the timeline to one dataSource by name).
ingestionTimelineFor: (name: string) =>
api.get<IngestionTimeline>(
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/shared/i18n/locales/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -3491,7 +3491,7 @@
"retry": "Erneut versuchen",
"none": "Keine Quellen entsprechen dieser Ansicht.",
"ingestion": {
"title": "Ingestion · letzte 24 Stunden",
"title": "Ingestion",
"received": "empfangene Ereignisse",
"none": "Keine Ingestion in den letzten 24 Stunden.",
"ago24h": "vor 24h",
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/shared/i18n/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -3630,7 +3630,7 @@
"retry": "Retry",
"none": "No data sources match this view.",
"ingestion": {
"title": "Ingestion · last 24 hours",
"title": "Ingestion",
"received": "events received",
"none": "No ingestion in the last 24 hours.",
"ago24h": "24h ago",
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/shared/i18n/locales/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -3453,7 +3453,7 @@
"retry": "Reintentar",
"none": "Ninguna fuente coincide con esta vista.",
"ingestion": {
"title": "Ingestión · últimas 24 horas",
"title": "Ingestión",
"received": "eventos recibidos",
"none": "Sin ingestión en las últimas 24 horas.",
"ago24h": "hace 24h",
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/shared/i18n/locales/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -3491,7 +3491,7 @@
"retry": "Réessayer",
"none": "Aucune source ne correspond à cette vue.",
"ingestion": {
"title": "Ingestion · dernières 24 heures",
"title": "Ingestion",
"received": "événements reçus",
"none": "Aucune ingestion ces dernières 24 heures.",
"ago24h": "il y a 24h",
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/shared/i18n/locales/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -3491,7 +3491,7 @@
"retry": "Riprova",
"none": "Nessuna origine corrisponde a questa vista.",
"ingestion": {
"title": "Ingestione · ultime 24 ore",
"title": "Ingestione",
"received": "eventi ricevuti",
"none": "Nessuna ingestione nelle ultime 24 ore.",
"ago24h": "24h fa",
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/shared/i18n/locales/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -3453,7 +3453,7 @@
"retry": "Tentar novamente",
"none": "Nenhuma fonte corresponde a esta visão.",
"ingestion": {
"title": "Ingestão · últimas 24 horas",
"title": "Ingestão",
"received": "eventos recebidos",
"none": "Sem ingestão nas últimas 24 horas.",
"ago24h": "há 24h",
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/shared/i18n/locales/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -3270,7 +3270,7 @@
"retry": "Повторить",
"none": "Нет источников по этому фильтру.",
"ingestion": {
"title": "Поступление · последние 24 часа",
"title": "Поступление",
"received": "событий получено",
"none": "Нет поступлений за последние 24 часа.",
"ago24h": "24ч назад",
Expand Down
Loading
Loading