Fixture {{ event.fixture_id || '-' }} · Player {{ event.player_id }} · {{ event.market_type }}
In {{ eventIngressHttpPath(event) }}
Out {{ eventOutboundEndpointsLine(event) }}
Fixtures list, in-memory snapshots, request stream, and Abelson outgoing decisions.
{{ stats.bind_host || '-' }}:{{ stats.port || '-' }}{{ stats.detected_ip || 'unknown' }}{{ stats.enabled_clients ?? 0 }} enabled{{ clientConfigFile }}
{{ clientsReloadMessage }}
{{ clientConfigReloadHint }}
{{ stats.monitoring_url || 'waiting for service' }}{{ card.label }}
{{ card.value }}
{{ webhookDeliveriesError }}
Requests & Outgoings
Service base — {{ stats.base_url }}
· each row shows the inbound route on this service and outbound Abelson POST URLs when present.
Fixture {{ event.fixture_id || '-' }} · Player {{ event.player_id }} · {{ event.market_type }}
In {{ eventIngressHttpPath(event) }}
Out {{ eventOutboundEndpointsLine(event) }}
| Select | Event | Market | League | Match | Endpoint | Request | Response | Source | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| No API outgoings yet. | |||||||||||||||||||||
| {{ webhookDeliveriesFormatWhen(row.requested_at) }} | {{ row.event_type || '—' }} | {{ row.market || '—' }} | {{ row.fixture_id != null ? row.fixture_id : '—' }} | {{ row.league_name != null && row.league_name !== '' ? row.league_name : '—' }} | {{ row.match_label != null && row.match_label !== '' ? row.match_label : '—' }} | {{ row.endpoint_url || '—' }} | {{ row.response_status != null ? row.response_status : '—' }} | {{ row.duration_ms != null && row.duration_ms !== '' ? (Number(row.duration_ms).toFixed(Number(row.duration_ms) >= 100 ? 1 : 2) + 'ms') : '—' }} | {{ webhookDeliveriesFormatBytes(row.request_bytes) }} | {{ webhookDeliveriesFormatBytes(row.response_bytes) }} | {{ row.source_ip && row.source_ip !== '' ? row.source_ip : '—' }} | ||||||||||
|
Market details {{ webhookDeliveryMarketDetails(row).market_name || row.market_name || '—' }}
|
|||||||||||||||||||||
Sent JSON payload
{{ webhookDeliveryPayloadDisplay(webhookDeliveryJsonModalRow) }}
Fixture outbound
{{ fixtureOutboundOverlayEntries.length }} events kept for this fixture in this browser session · server ring buffer still caps globally
Memory now (balanced lines cached for this fixture)
{{ outboundOverlaySnapshots.length }} row{{ outboundOverlaySnapshots.length === 1 ? '' : 's' }} ·
MySQL / cache
· max updated_at
{{ outboundOverlayLatestSnapshotTimes ? formatMonitoringDateTime(outboundOverlayLatestSnapshotTimes) : '—' }}
·
last Abelson wire POST
(recorded_at)
{{ outboundOverlayLatestWireSentDisplay }}
updated_at is the line row from the DB when the snapshot was cached.
Wire time is when this service logged a send (sent: true in the event stream), not the partner’s HTTP response time.
Each row is one outbound POST bucket: market_type|over|line or market_type|under|line. Players on that row are exactly that bucket’s selections[].
No over/under odds on snapshots — nothing to bucket.
| Bucket (one POST) | Roster players in selections[] | Selection rows over row or under row only |
|---|---|---|
|
{{ bucket.market_type }}
{{ bucket.displaySide }}
{{ fmt(bucket.balance_line) }}
{{ bucket.bucketKey }}
{{ bucket.snapshots.length }} selection{{ bucket.snapshots.length === 1 ? '' : 's' }}
|
{{ p.player_name || ('#' + p.player_id) }}
Sus
|
{{ p.player_name || ('Player ' + p.player_id) }}
{{ outboundSuspended(p) ? 'Suspended' : 'Active' }}
▲
{{ fmt(p.balance_line) }}
O
{{ fmtOddsShort(p.over_odds) }}
is_suspended
{{ outboundSuspended(p) ? 'true' : 'false' }}
{{ String(p.status) }}
{{ overlayFmtProbability(p.over_probability) }}
— %
{{ p.player_name || ('Player ' + p.player_id) }}
{{ outboundSuspended(p) ? 'Suspended' : 'Active' }}
▼
{{ fmt(p.balance_line) }}
U
{{ fmtOddsShort(p.under_odds) }}
is_suspended
{{ outboundSuspended(p) ? 'true' : 'false' }}
{{ String(p.status) }}
{{ overlayFmtProbability(p.under_probability) }}
— %
|
| Player | Market | Outcomes | Sus | Status |
|---|---|---|---|---|
| {{ row.player_name || ('#' + row.player_id) }} | {{ row.market_type }} |
▲
{{ fmt(row.balance_line) }}
O
{{ ' ' + fmtOddsShort(row.over_odds) }}
{{ overlayFmtProbability(row.over_probability) }}
▼
{{ fmt(row.balance_line) }}
U
{{ ' ' + fmtOddsShort(row.under_odds) }}
{{ overlayFmtProbability(row.under_probability) }}
|
{{ outboundSuspended(row) ? 'yes' : 'no' }} | {{ row.status || '—' }} |
Chronological send / decision trail
Newest first. Highlights line-field changes vs previous when stored.
Player {{ ev.player_id }} · {{ ev.market_type }}