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
Original file line number Diff line number Diff line change
Expand Up @@ -188,12 +188,6 @@ object Routing {
implicit val dateTimeEncoder: Encoder[DateTime] =
Encoder[String].contramap(_.toString)

implicit val instantEncoder: Encoder[Instant] =
Encoder[Long].contramap(_.toEpochMilli)

implicit val instantDecoder: Decoder[Instant] =
Decoder[Long].map(Instant.ofEpochMilli)

implicit val nameValuePairEncoder: Encoder[NameValuePair] =
Encoder[String].contramap(kv => s"${kv.getName}=${kv.getValue}")

Expand Down
22 changes: 11 additions & 11 deletions ui/src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -131,22 +131,22 @@ function App() {
// only filter by selected bucket, or not at all
timeRange = selectedTimeBucket
? {
start: Number(selectedTimeBucket.split('-')[0]),
end: Number(selectedTimeBucket.split('-')[1]),
start: selectedTimeBucket.split('|')[0],
end: selectedTimeBucket.split('|')[1],
}
: undefined
} else {
// add a (non-inclusive) upper bound to avoid getting newer events in the results
const refreshTimeLimit = lastRefreshTime?.getTime()
if (selectedTimeBucket && refreshTimeLimit) {
const bucketStart = Number(selectedTimeBucket.split('-')[0])
const bucketEnd = Number(selectedTimeBucket.split('-')[1])
if (selectedTimeBucket && lastRefreshTime) {
const bucketStart = selectedTimeBucket.split('|')[0]
const bucketEnd = selectedTimeBucket.split('|')[1]
const bucketEndTime = new Date(bucketEnd)
timeRange = {
start: bucketStart,
end: Math.min(bucketEnd, refreshTimeLimit),
end: bucketEndTime < lastRefreshTime ? bucketEnd : lastRefreshTime.toISOString(),
}
} else if (refreshTimeLimit) {
timeRange = { end: refreshTimeLimit }
} else if (lastRefreshTime) {
timeRange = { end: lastRefreshTime.toISOString() }
}
}

Expand Down Expand Up @@ -299,8 +299,8 @@ function App() {
const filters: string[] = []

if (selectedTimeBucket) {
const bucketStart = Number(selectedTimeBucket.split('-')[0])
const bucketEnd = Number(selectedTimeBucket.split('-')[1])
const bucketStart = selectedTimeBucket.split('|')[0]
const bucketEnd = selectedTimeBucket.split('|')[1]
const startDate = new Date(bucketStart)
const endDate = new Date(bucketEnd)
filters.push(`Time: ${startDate.toLocaleString()} – ${endDate.toLocaleString()}`)
Expand Down
4 changes: 2 additions & 2 deletions ui/src/components/EventsChart.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export function EventsChart({
// Check if we actually have events at this time point
if (data.validEvents > 0 || data.failedEvents > 0) {
// Clicking on a bar with actual data - toggle selection
const bucketKey = `${data.bucketStart}-${data.bucketEnd}`
const bucketKey = `${data.bucketStart}|${data.bucketEnd}`
onBucketClick(selectedBucket === bucketKey ? null : bucketKey)
} else {
// Clicking on empty area (no events at this time) - reset selection
Expand All @@ -64,7 +64,7 @@ export function EventsChart({

const getBarOpacity = (index: number): number => {
const data = chartData[index]
const bucketKey = `${data.bucketStart}-${data.bucketEnd}`
const bucketKey = `${data.bucketStart}|${data.bucketEnd}`
if (selectedBucket === bucketKey) return 1.0
if (selectedBucket && selectedBucket !== bucketKey) return 0.2
return 0.8
Expand Down
12 changes: 6 additions & 6 deletions ui/src/services/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ export type Event = {
}

export type TimelineBucket = {
start: number
end: number
start: string // ISO string
end: string // ISO string
}

export type TimelineRequest = {
Expand Down Expand Up @@ -40,8 +40,8 @@ export type EventsFilter = {
}

export type TimeRange = {
start?: number
end?: number
start?: string // ISO string
end?: string // ISO string
}

export type EventsSorting = {
Expand Down Expand Up @@ -205,8 +205,8 @@ export class EventsApiService {
const bucketStart = alignedTime - i * bucketSizeMs
const bucketEnd = bucketStart + bucketSizeMs
buckets.push({
start: bucketStart,
end: bucketEnd
start: new Date(bucketStart).toISOString(),
end: new Date(bucketEnd).toISOString()
})
}

Expand Down