← Back to Dashboard

Request Trace

Trace ID
trace_mncjj3qk_r50k8hor
Log Entries
112
Errors
3
Total Duration
9707ms
Request Timeline
02:00:02.608 AM
sync-all-devices info
Request started
POST /sync-all-devices
Metadata
{
  "headers": {
    "accept": "*/*",
    "user-agent": "pg_net/0.19.5",
    "content-type": "application/json",
    "content-length": "2",
    "x-forwarded-for": "98.89.138.29,98.89.138.29, 99.82.165.76"
  },
  "http_path": "/sync-all-devices",
  "http_method": "POST"
}
02:00:02.608 AM
sync-all-devices info
Supabase client initialized for function invocation
POST /sync-all-devices
02:00:02.608 AM
sync-all-devices debug
select on connected_devices
POST /sync-all-devices
Metadata
{
  "table": "connected_devices",
  "operation": "select"
}
02:00:02.838 AM
sync-all-devices info
Processing libre devices
POST /sync-all-devices
Metadata
{
  "count": 1,
  "provider": "libre"
}
02:00:02.845 AM
sync-all-devices info
Calling edge_function: sync-libre
POST /sync-all-devices
Metadata
{
  "service": "edge_function",
  "endpoint": "sync-libre",
  "provider": "libre",
  "device_id": "c253d974-b0e5-4e24-b4ec-5b9b34a17caa"
}
02:00:02.847 AM
sync-all-devices info
Starting daily sync for 3 devices
POST /sync-all-devices
Metadata
{
  "device_count": 3
}
02:00:02.949 AM
sync-all-devices info
Retrieved service role key from vault
POST /sync-all-devices
Metadata
{
  "key_length": 219
}
02:00:03.167 AM
sync-libre info
Request started
POST /sync-libre
Metadata
{
  "headers": {
    "accept": "*/*",
    "user-agent": "Deno/2.1.4 (variant; SupabaseEdgeRuntime/1.73.0)",
    "x-trace-id": "trace_mncjj3qk_r50k8hor",
    "content-type": "application/json",
    "content-length": "144",
    "x-forwarded-for": "98.80.189.33,98.80.189.33, 99.82.165.74"
  },
  "http_path": "/sync-libre",
  "http_method": "POST"
}
02:00:03.207 AM
sync-libre info
Starting Libre sync
POST /sync-libre
Metadata
{
  "device_id": "c253d974-b0e5-4e24-b4ec-5b9b34a17caa",
  "initial_backfill": false
}
02:00:03.425 AM
sync-libre info
Calling libre: /glucose/graph
POST /sync-libre
Metadata
{
  "service": "libre",
  "endpoint": "/glucose/graph",
  "patient_id": "98f3eaa7-53ed-11ee-b5b3-8a202adda690"
}
02:00:03.864 AM
sync-libre info
libre responded: 200
POST /sync-libre
Metadata
{
  "service": "libre",
  "endpoint": "/glucose/graph",
  "duration_ms": 358,
  "records_count": 140,
  "response_status": 200
}
02:00:03.959 AM
sync-libre info
Received 140 glucose readings
POST /sync-libre
Metadata
{
  "count": 140
}
02:00:04.161 AM
sync-libre info
Libre derived offset: -240 min
POST /sync-libre
02:00:04.168 AM
sync-libre debug
upsert on glucose_data
POST /sync-libre
Metadata
{
  "count": 140,
  "table": "glucose_data",
  "operation": "upsert"
}
02:00:04.518 AM
sync-libre info
Calling libre: /logbook
POST /sync-libre
Metadata
{
  "service": "libre",
  "endpoint": "/logbook",
  "patient_id": "98f3eaa7-53ed-11ee-b5b3-8a202adda690"
}
02:00:04.851 AM
sync-libre info
libre responded: 200
POST /sync-libre
Metadata
{
  "service": "libre",
  "endpoint": "/logbook",
  "duration_ms": 279,
  "records_count": 15,
  "response_status": 200
}
02:00:04.898 AM
sync-libre info
Received 15 logbook entries
POST /sync-libre
Metadata
{
  "count": 15
}
02:00:04.954 AM
sync-libre info
Filtered to 14 alarms with glucose values
POST /sync-libre
Metadata
{
  "with_glucose": 14,
  "total_entries": 14
}
02:00:05.017 AM
sync-libre debug
upsert on glucose_alarms
POST /sync-libre
Metadata
{
  "count": 14,
  "table": "glucose_alarms",
  "operation": "upsert"
}
02:00:05.159 AM
sync-libre debug
update on connected_devices
POST /sync-libre
Metadata
{
  "table": "connected_devices",
  "device_id": "c253d974-b0e5-4e24-b4ec-5b9b34a17caa",
  "operation": "update"
}
02:00:05.258 AM
sync-libre info
Sync completed successfully: 154 records
POST /sync-libre
Metadata
{
  "total_records": 154
}
02:00:05.353 AM
sync-libre info
Request completed with status 200
Duration: 2251msHTTP 200POST /sync-libre
Metadata
{
  "duration_ms": 2251,
  "content_type": "application/json"
}
02:00:05.426 AM
sync-all-devices info
Processing fitbit devices
POST /sync-all-devices
Metadata
{
  "count": 1,
  "provider": "fitbit"
}
02:00:05.427 AM
sync-all-devices info
edge_function responded: 200
POST /sync-all-devices
Metadata
{
  "service": "edge_function",
  "endpoint": "sync-libre",
  "device_id": "c253d974-b0e5-4e24-b4ec-5b9b34a17caa",
  "duration_ms": 2604,
  "response_status": 200
}
02:00:05.433 AM
sync-all-devices info
Batch completed for libre
POST /sync-all-devices
Metadata
{
  "total": 1,
  "provider": "libre",
  "processed": 1,
  "batch_size": 1,
  "batch_index": 0,
  "batch_success": 1
}
02:00:05.437 AM
sync-all-devices info
Calling edge_function: sync-fitbit
POST /sync-all-devices
Metadata
{
  "service": "edge_function",
  "endpoint": "sync-fitbit",
  "provider": "fitbit",
  "device_id": "804f5bd9-992a-45e3-9937-3034bc97c610"
}
02:00:05.490 AM
sync-all-devices info
Retrieved service role key from vault
POST /sync-all-devices
Metadata
{
  "key_length": 219
}
02:00:05.667 AM
sync-fitbit debug
select on connected_devices
POST /sync-fitbit
Metadata
{
  "table": "connected_devices",
  "operation": "select"
}
02:00:05.677 AM
sync-fitbit info
Starting Fitbit sync
POST /sync-fitbit
Metadata
{
  "device_id": "804f5bd9-992a-45e3-9937-3034bc97c610",
  "sync_type": "all",
  "initial_backfill": false
}
02:00:05.678 AM
sync-fitbit info
Request started
POST /sync-fitbit
Metadata
{
  "headers": {
    "accept": "*/*",
    "user-agent": "Deno/2.1.4 (variant; SupabaseEdgeRuntime/1.73.0)",
    "x-trace-id": "trace_mncjj3qk_r50k8hor",
    "content-type": "application/json",
    "content-length": "144",
    "x-forwarded-for": "98.80.189.33,98.80.189.33, 99.82.165.77"
  },
  "http_path": "/sync-fitbit",
  "http_method": "POST"
}
02:00:05.709 AM
sync-fitbit info
Refreshing tokens
POST /sync-fitbit
02:00:06.166 AM
sync-fitbit info
Starting summary sync
POST /sync-fitbit
02:00:06.168 AM
sync-fitbit info
Updated user timezone: America/New_York
POST /sync-fitbit
02:00:06.212 AM
sync-fitbit info
Sync parameters resolved
POST /sync-fitbit
Metadata
{
  "end_date": "2026-03-30",
  "days_count": 1,
  "start_date": "2026-03-30",
  "sync_types": [
    "summary",
    "sleep",
    "activities",
    "intraday"
  ]
}
02:00:06.220 AM
sync-fitbit info
Calling fitbit: /activities/date/2026-03-30
POST /sync-fitbit
Metadata
{
  "service": "fitbit",
  "endpoint": "/activities/date/2026-03-30"
}
02:00:06.534 AM
sync-fitbit info
fitbit responded: 200
POST /sync-fitbit
Metadata
{
  "attempt": 1,
  "service": "fitbit",
  "endpoint": "/1/user/-/activities/date/2026-03-30.json",
  "duration_ms": 369,
  "response_status": 200
}
02:00:06.535 AM
sync-fitbit info
Calling fitbit: /hrv/date/2026-03-30
POST /sync-fitbit
Metadata
{
  "service": "fitbit",
  "endpoint": "/hrv/date/2026-03-30"
}
02:00:06.599 AM
sync-fitbit debug
upsert on daily_summary
POST /sync-fitbit
Metadata
{
  "count": 1,
  "table": "daily_summary",
  "operation": "upsert"
}
02:00:06.641 AM
sync-fitbit info
fitbit responded: 200
POST /sync-fitbit
Metadata
{
  "attempt": 1,
  "service": "fitbit",
  "endpoint": "/1/user/-/hrv/date/2026-03-30.json",
  "duration_ms": 67,
  "response_status": 200
}
02:00:06.687 AM
sync-fitbit info
Starting sleep sync
POST /sync-fitbit
02:00:06.692 AM
sync-fitbit info
Completed summary sync
POST /sync-fitbit
Metadata
{
  "result": {
    "success": true,
    "sync_type": "summary",
    "records_synced": 1
  }
}
02:00:06.701 AM
sync-fitbit info
Calling fitbit: /sleep/date/2026-03-30
POST /sync-fitbit
Metadata
{
  "service": "fitbit",
  "endpoint": "/sleep/date/2026-03-30"
}
02:00:07.125 AM
sync-fitbit info
Starting activities sync
POST /sync-fitbit
02:00:07.125 AM
sync-fitbit info
fitbit responded: 200
POST /sync-fitbit
Metadata
{
  "attempt": 1,
  "service": "fitbit",
  "endpoint": "/1.2/user/-/sleep/date/2026-03-30.json",
  "duration_ms": 432,
  "response_status": 200
}
02:00:07.127 AM
sync-fitbit info
Calling fitbit: /activities/list
POST /sync-fitbit
Metadata
{
  "service": "fitbit",
  "endpoint": "/activities/list"
}
02:00:07.138 AM
sync-fitbit info
Completed sleep sync
POST /sync-fitbit
Metadata
{
  "result": {
    "success": true,
    "sync_type": "sleep",
    "records_synced": 0
  }
}
02:00:07.415 AM
sync-fitbit info
Fetched activities data from Fitbit API
POST /sync-fitbit
Metadata
{
  "activities_count": 0
}
02:00:07.418 AM
sync-fitbit info
Completed activities sync
POST /sync-fitbit
Metadata
{
  "result": {
    "success": true,
    "sync_type": "activities",
    "records_synced": 0
  }
}
02:00:07.420 AM
sync-fitbit info
Starting intraday sync
POST /sync-fitbit
02:00:07.426 AM
sync-fitbit info
Calling fitbit: /heart/date/2026-03-30/1d/1min
POST /sync-fitbit
Metadata
{
  "service": "fitbit",
  "endpoint": "/heart/date/2026-03-30/1d/1min"
}
02:00:07.431 AM
sync-fitbit info
fitbit responded: 200
POST /sync-fitbit
Metadata
{
  "attempt": 1,
  "service": "fitbit",
  "endpoint": "/1/user/-/activities/list.json?afterDate=2026-03-30&sort=asc&offset=0&limit=100",
  "duration_ms": 248,
  "response_status": 200
}
02:00:07.435 AM
sync-fitbit error
fitbit responded: 500
POST /sync-fitbit
Metadata
{
  "error": true,
  "attempt": 1,
  "service": "fitbit",
  "endpoint": "/1/user/-/activities/heart/date/2026-03-30/1d/1min.json",
  "duration_ms": 65,
  "response_status": 500
}
02:00:07.472 AM
sync-fitbit error
fitbit responded: 500
POST /sync-fitbit
Metadata
{
  "error": true,
  "attempt": 2,
  "service": "fitbit",
  "endpoint": "/1/user/-/activities/heart/date/2026-03-30/1d/1min.json",
  "duration_ms": 35,
  "response_status": 500
}
02:00:07.514 AM
sync-fitbit warn
Failed to fetch intraday for 2026-03-30
POST /sync-fitbit
Metadata
{
  "error": "Error: Fitbit API error: 500"
}
02:00:07.515 AM
sync-fitbit info
Completed intraday sync
POST /sync-fitbit
Metadata
{
  "result": {
    "success": true,
    "sync_type": "intraday",
    "records_synced": 0
  }
}
02:00:07.526 AM
sync-fitbit error
fitbit responded: 500
POST /sync-fitbit
Metadata
{
  "error": true,
  "attempt": 3,
  "service": "fitbit",
  "endpoint": "/1/user/-/activities/heart/date/2026-03-30/1d/1min.json",
  "duration_ms": 41,
  "response_status": 500
}
02:00:07.527 AM
sync-fitbit debug
update on connected_devices
POST /sync-fitbit
Metadata
{
  "table": "connected_devices",
  "operation": "update"
}
02:00:07.596 AM
sync-fitbit info
Request completed with status 200
Duration: 1970msHTTP 200POST /sync-fitbit
Metadata
{
  "duration_ms": 1970,
  "content_type": "application/json"
}
02:00:07.626 AM
sync-fitbit info
Fitbit sync completed
POST /sync-fitbit
Metadata
{
  "failed_syncs": 0,
  "total_records": 1,
  "successful_syncs": 4
}
02:00:07.647 AM
sync-all-devices info
Batch completed for fitbit
POST /sync-all-devices
Metadata
{
  "total": 1,
  "provider": "fitbit",
  "processed": 1,
  "batch_size": 1,
  "batch_index": 0,
  "batch_success": 1
}
02:00:07.663 AM
sync-all-devices info
edge_function responded: 200
POST /sync-all-devices
Metadata
{
  "service": "edge_function",
  "endpoint": "sync-fitbit",
  "device_id": "804f5bd9-992a-45e3-9937-3034bc97c610",
  "duration_ms": 2226,
  "response_status": 200
}
02:00:07.664 AM
sync-all-devices info
Calling edge_function: sync-whoop
POST /sync-all-devices
Metadata
{
  "service": "edge_function",
  "endpoint": "sync-whoop",
  "provider": "whoop",
  "device_id": "1fdec537-3e63-4519-906f-3db96804ae00"
}
02:00:07.677 AM
sync-all-devices info
Processing whoop devices
POST /sync-all-devices
Metadata
{
  "count": 1,
  "provider": "whoop"
}
02:00:07.710 AM
sync-all-devices info
Retrieved service role key from vault
POST /sync-all-devices
Metadata
{
  "key_length": 219
}
02:00:07.928 AM
sync-whoop info
Request started
POST /sync-whoop
Metadata
{
  "headers": {
    "accept": "*/*",
    "user-agent": "Deno/2.1.4 (variant; SupabaseEdgeRuntime/1.73.0)",
    "x-trace-id": "trace_mncjj3qk_r50k8hor",
    "content-type": "application/json",
    "content-length": "144",
    "x-forwarded-for": "98.80.189.33,98.80.189.33, 99.82.165.76"
  },
  "http_path": "/sync-whoop",
  "http_method": "POST"
}
02:00:07.934 AM
sync-whoop info
Starting Whoop sync
POST /sync-whoop
Metadata
{
  "device_id": "1fdec537-3e63-4519-906f-3db96804ae00",
  "sync_type": "all",
  "initial_backfill": false
}
02:00:07.936 AM
sync-whoop debug
select on connected_devices
POST /sync-whoop
Metadata
{
  "table": "connected_devices",
  "operation": "select"
}
02:00:07.993 AM
sync-whoop info
Refreshing tokens
POST /sync-whoop
02:00:10.431 AM
sync-whoop info
Sync parameters resolved
POST /sync-whoop
Metadata
{
  "end_date": "2026-03-30",
  "start_date": "2026-03-27",
  "sync_types": [
    "recovery",
    "sleep",
    "workout"
  ]
}
02:00:10.436 AM
sync-whoop info
Token refresh successful
POST /sync-whoop
Metadata
{
  "expires_at": "2026-03-30T03:00:09.338Z",
  "token_type": "[REDACTED]"
}
02:00:10.436 AM
sync-whoop info
Starting recovery sync
POST /sync-whoop
02:00:10.445 AM
sync-whoop info
Calling whoop: /cycle
POST /sync-whoop
Metadata
{
  "service": "whoop",
  "endpoint": "/cycle"
}
02:00:10.559 AM
sync-whoop info
whoop responded: 200
POST /sync-whoop
Metadata
{
  "service": "whoop",
  "success": true,
  "endpoint": "/cycle?start=2026-03-27T00%3A00%3A00.000Z&end=2026-03-30T23%3A59%3A59.999Z",
  "duration_ms": 128,
  "response_status": 200
}
02:00:10.589 AM
sync-whoop info
Calling whoop: /recovery
POST /sync-whoop
Metadata
{
  "service": "whoop",
  "endpoint": "/recovery"
}
02:00:10.681 AM
sync-whoop info
whoop responded: 200
POST /sync-whoop
Metadata
{
  "service": "whoop",
  "success": true,
  "endpoint": "/recovery?start=2026-03-27T00%3A00%3A00.000Z&end=2026-03-30T23%3A59%3A59.999Z",
  "duration_ms": 123,
  "response_status": 200
}
02:00:10.712 AM
sync-whoop info
Fetched recovery data from Whoop API
POST /sync-whoop
Metadata
{
  "cycles_count": 4,
  "recoveries_count": 3
}
02:00:10.768 AM
sync-whoop warn
Overwriting 4 existing recovery records
POST /sync-whoop
Metadata
{
  "device_id": "1fdec537-3e63-4519-906f-3db96804ae00",
  "total_records": 4,
  "existing_dates": [
    "2026-03-28",
    "2026-03-27",
    "2026-03-26",
    "2026-03-25"
  ]
}
02:00:10.768 AM
sync-whoop debug
upsert on daily_summary
POST /sync-whoop
Metadata
{
  "count": 4,
  "table": "daily_summary",
  "operation": "upsert"
}
02:00:10.802 AM
sync-whoop info
Completed recovery sync
POST /sync-whoop
Metadata
{
  "result": {
    "success": true,
    "sync_type": "recovery",
    "records_synced": 4
  }
}
02:00:10.802 AM
sync-whoop info
Starting sleep sync
POST /sync-whoop
02:00:10.808 AM
sync-whoop info
Calling whoop: /activity/sleep
POST /sync-whoop
Metadata
{
  "service": "whoop",
  "endpoint": "/activity/sleep"
}
02:00:10.921 AM
sync-whoop debug
upsert on sleep_sessions
POST /sync-whoop
Metadata
{
  "count": 3,
  "table": "sleep_sessions",
  "operation": "upsert"
}
02:00:10.929 AM
sync-whoop info
Fetched sleep data from Whoop API
POST /sync-whoop
Metadata
{
  "records_count": 3
}
02:00:10.930 AM
sync-whoop info
whoop responded: 200
POST /sync-whoop
Metadata
{
  "service": "whoop",
  "success": true,
  "endpoint": "/activity/sleep?start=2026-03-27T00%3A00%3A00.000Z&end=2026-03-30T23%3A59%3A59.999Z",
  "duration_ms": 115,
  "response_status": 200
}
02:00:10.965 AM
sync-whoop info
Calling whoop: /activity/workout
POST /sync-whoop
Metadata
{
  "service": "whoop",
  "endpoint": "/activity/workout"
}
02:00:11.357 AM
sync-whoop info
Fetched workout data from Whoop API
POST /sync-whoop
Metadata
{
  "records_count": 4
}
02:00:11.357 AM
sync-whoop info
whoop responded: 200
POST /sync-whoop
Metadata
{
  "service": "whoop",
  "success": true,
  "endpoint": "/activity/workout?start=2026-03-27T00%3A00%3A00.000Z&end=2026-03-30T23%3A59%3A59.999Z",
  "duration_ms": 163,
  "response_status": 200
}
02:00:11.385 AM
sync-whoop info
Starting workout sync
POST /sync-whoop
02:00:11.385 AM
sync-whoop info
Completed sleep sync
POST /sync-whoop
Metadata
{
  "result": {
    "success": true,
    "sync_type": "sleep",
    "records_synced": 3
  }
}
02:00:11.389 AM
sync-whoop debug
upsert on activities
POST /sync-whoop
Metadata
{
  "count": 4,
  "table": "activities",
  "operation": "upsert"
}
02:00:11.406 AM
sync-whoop debug
update on connected_devices
POST /sync-whoop
Metadata
{
  "table": "connected_devices",
  "operation": "update"
}
02:00:11.409 AM
sync-whoop info
Completed workout sync
POST /sync-whoop
Metadata
{
  "result": {
    "success": true,
    "sync_type": "workout",
    "records_synced": 4
  }
}
02:00:11.474 AM
sync-whoop info
Request completed with status 200
Duration: 3593msHTTP 200POST /sync-whoop
Metadata
{
  "duration_ms": 3593,
  "content_type": "application/json"
}
02:00:11.508 AM
sync-whoop info
Whoop sync completed
POST /sync-whoop
Metadata
{
  "failed_syncs": 0,
  "total_records": 11,
  "successful_syncs": 3
}
02:00:11.543 AM
sync-all-devices info
Batch completed for whoop
POST /sync-all-devices
Metadata
{
  "total": 1,
  "provider": "whoop",
  "processed": 1,
  "batch_size": 1,
  "batch_index": 0,
  "batch_success": 1
}
02:00:11.580 AM
sync-all-devices info
edge_function responded: 200
POST /sync-all-devices
Metadata
{
  "service": "edge_function",
  "endpoint": "sync-whoop",
  "device_id": "1fdec537-3e63-4519-906f-3db96804ae00",
  "duration_ms": 3894,
  "response_status": 200
}
02:00:11.627 AM
sync-all-devices info
Recomputing baselines for 2 users
POST /sync-all-devices
Metadata
{
  "user_ids": [
    "3597587c-1242-4c31-ac21-ce2768e6fbd8",
    "73f1a17e-eca2-4b92-9bc8-425c93352fce"
  ],
  "user_count": 2
}
02:00:11.628 AM
sync-all-devices info
Daily sync completed
POST /sync-all-devices
Metadata
{
  "failed": 0,
  "skipped": 0,
  "successful": 3,
  "total_processed": 3
}
02:00:11.676 AM
sync-all-devices info
Calling edge_function: compute-baselines
POST /sync-all-devices
Metadata
{
  "service": "edge_function",
  "user_id": "3597587c-1242-4c31-ac21-ce2768e6fbd8",
  "endpoint": "compute-baselines"
}
02:00:11.689 AM
sync-all-devices info
Calling edge_function: compute-baselines
POST /sync-all-devices
Metadata
{
  "service": "edge_function",
  "user_id": "73f1a17e-eca2-4b92-9bc8-425c93352fce",
  "endpoint": "compute-baselines"
}
02:00:11.822 AM
compute-baselines info
Starting baseline computation
POST /compute-baselines
Metadata
{
  "user_id": "3597587c-1242-4c31-ac21-ce2768e6fbd8"
}
02:00:11.826 AM
compute-baselines info
Request started
POST /compute-baselines
Metadata
{
  "headers": {
    "accept": "*/*",
    "user-agent": "Deno/2.1.4 (variant; SupabaseEdgeRuntime/1.73.0)",
    "x-trace-id": "trace_mncjj3qk_r50k8hor",
    "content-type": "application/json",
    "content-length": "50",
    "x-forwarded-for": "98.80.189.33,98.80.189.33, 3.2.51.17"
  },
  "http_path": "/compute-baselines",
  "http_method": "POST"
}
02:00:11.903 AM
compute-baselines info
Starting baseline computation
POST /compute-baselines
Metadata
{
  "user_id": "73f1a17e-eca2-4b92-9bc8-425c93352fce"
}
02:00:11.904 AM
compute-baselines info
Request started
POST /compute-baselines
Metadata
{
  "headers": {
    "accept": "*/*",
    "user-agent": "Deno/2.1.4 (variant; SupabaseEdgeRuntime/1.73.0)",
    "x-trace-id": "trace_mncjj3qk_r50k8hor",
    "content-type": "application/json",
    "content-length": "50",
    "x-forwarded-for": "98.80.189.33,98.80.189.33, 99.82.165.75"
  },
  "http_path": "/compute-baselines",
  "http_method": "POST"
}
02:00:12.180 AM
compute-baselines info
Baseline computation complete
POST /compute-baselines
Metadata
{
  "safety_flags": [],
  "has_cycle_info": true,
  "metrics_summary": {
    "hrv": {
      "phases": [
        "all",
        "follicular",
        "luteal"
      ],
      "sample_count": 41
    },
    "steps": {
      "phases": [
        "all",
        "follicular",
        "luteal"
      ],
      "sample_count": 42
    },
    "resting_hr": {
      "phases": [
        "all",
        "follicular",
        "luteal"
      ],
      "sample_count": 41
    },
    "sleep_rem_pct": {
      "phases": [
        "all",
        "follicular",
        "luteal"
      ],
      "sample_count": 41
    },
    "sleep_deep_pct": {
      "phases": [
        "all",
        "follicular",
        "luteal"
      ],
      "sample_count": 41
    },
    "sleep_duration": {
      "phases": [
        "all",
        "follicular",
        "luteal"
      ],
      "sample_count": 41
    }
  },
  "baselines_computed": 18
}
02:00:12.209 AM
compute-baselines info
Baseline computation complete
POST /compute-baselines
Metadata
{
  "safety_flags": [],
  "has_cycle_info": false,
  "metrics_summary": {
    "hrv": {
      "phases": [
        "all"
      ],
      "sample_count": 81
    },
    "resting_hr": {
      "phases": [
        "all"
      ],
      "sample_count": 81
    },
    "sleep_rem_pct": {
      "phases": [
        "all"
      ],
      "sample_count": 90
    },
    "sleep_deep_pct": {
      "phases": [
        "all"
      ],
      "sample_count": 90
    },
    "sleep_duration": {
      "phases": [
        "all"
      ],
      "sample_count": 90
    },
    "respiratory_rate": {
      "phases": [
        "all"
      ],
      "sample_count": 90
    }
  },
  "baselines_computed": 6
}
02:00:12.221 AM
compute-baselines info
Request completed with status 200
Duration: 433msHTTP 200POST /compute-baselines
Metadata
{
  "duration_ms": 433,
  "content_type": "application/json"
}
02:00:12.242 AM
compute-baselines info
Request completed with status 200
Duration: 386msHTTP 200POST /compute-baselines
Metadata
{
  "duration_ms": 386,
  "content_type": "application/json"
}
02:00:12.272 AM
sync-all-devices info
edge_function responded: 200
POST /sync-all-devices
Metadata
{
  "service": "edge_function",
  "user_id": "3597587c-1242-4c31-ac21-ce2768e6fbd8",
  "endpoint": "compute-baselines",
  "duration_ms": 599,
  "response_status": 200
}
02:00:12.289 AM
sync-all-devices info
Baseline recomputation completed
POST /sync-all-devices
Metadata
{
  "failed": 0,
  "attempted": 2,
  "succeeded": 2
}
02:00:12.314 AM
sync-all-devices info
Request completed with status 200
Duration: 10301msHTTP 200POST /sync-all-devices
Metadata
{
  "duration_ms": 10301,
  "content_type": "application/json"
}
02:00:12.315 AM
sync-all-devices info
edge_function responded: 200
POST /sync-all-devices
Metadata
{
  "service": "edge_function",
  "user_id": "73f1a17e-eca2-4b92-9bc8-425c93352fce",
  "endpoint": "compute-baselines",
  "duration_ms": 614,
  "response_status": 200
}