Skip to content

Instantly share code, notes, and snippets.

@apr-1985
Created September 12, 2022 14:01
Show Gist options
  • Select an option

  • Save apr-1985/8c092d6039704f0a039129275cbf9457 to your computer and use it in GitHub Desktop.

Select an option

Save apr-1985/8c092d6039704f0a039129275cbf9457 to your computer and use it in GitHub Desktop.
medium: From Critical User Journey to SLO/SLIs - json
{
"name": "Being able to search new books",
"actions": [
{
"name": "Web Service checks with ID Service to ensure User is allowed to search",
"dependencies": ["ID Service"],
"slos": [
{
"name": "ID Service",
"type": "Availability",
"metric": "99.9% of requests complete with less than 500 code response",
"metric_source": "Log messages"
},
{
"name": "ID Service",
"type": "Latency",
"metric": "99.99% of requests complete in 300ms or less",
"metric_source": "Log messages"
}
]
},
{
"name": "Web Service sends search term to Search Service",
"dependencies": [],
"slos": [
{
"name": "Search Service",
"type": "Availability",
"metric": "99.5% of requests complete with less than 500 code response",
"metric_source": "Service Mesh"
},
{
"name": "Search Service",
"type": "Latency",
"metric": "99% of searches complete in 1s or less",
"metric_source": "Service Mesh"
}
]
},
{
"name": "Search Service checks cache for results",
"dependencies": ["cache"],
"slos": [
{
"name": "Search Service completes from Cache",
"type": "Latency",
"metric": "99% of Search with cache hits complete in 400ms or less",
"metric_source": "Custom Prometheus metric"
},
{
"name": "Cache retrieval",
"type": "Latency",
"metric": "99% of cache requests complete in 300ms or less",
"metric_source": "Custom Prometheus metric"
}
]
},
{
"name": "If not in cache Search Service queries Database (and adds results to the cache)",
"dependencies": [
"database"
],
"slos": [
{
"name": "Search Service completes from DB",
"type": "Latency",
"metric": "99% of Search from DB complete in 1s or less",
"metric_source": "Custom Prometheus metric"
},
{
"name": "Database retrieval",
"type": "Latency",
"metric": "99% of DB requests complete in 600ms or less",
"metric_source": "Custom Prometheus metric"
}
]
},
{
"name": "Web Service displays search results",
"dependencies": [],
"slos": [
{
"name": "Whole CUJ completes",
"type": "Availability",
"metric": "99% of searches complete with less than 500 code response",
"metric_source": "Load balancer logs"
},
{
"name": "Whole CUJ completes",
"type": "Latency",
"metric": "99.5% of searches complete in 2s or less. 99% of searches complete in 1s or less",
"metric_source": "Load balancer logs"
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment