```ts
/** An append-only log of timestamped events. */
export interface Event { name: string; timestamp: number }

export class EventLog {
  #events: Event[] = []

  /** Append one event. */
  record(event: Event): void {
    this.#events.push(event)
  }

  /** Every event at or after the given timestamp, in insertion order. */
  since(timestamp: number): Event[] {
    return this.#events.filter((event) => event.timestamp >= timestamp)
  }
}
```