classDiagram direction LR
class Fault{
<<Interface>>
+List~int~ percentages
}
class AbortFault{
+int statusCode
}
apiVersion: resiliencebench.io/v1beta1 | |
kind: Benchmark | |
metadata: | |
name: bookinfo | |
namespace: bookinfo | |
spec: | |
rounds: 5 | |
workload: loadtest | |
connections: | |
- name: productpage-reviews |
classDiagram direction LR
class Fault{
<<Interface>>
+List~int~ percentages
}
class AbortFault{
+int statusCode
}
Polly
retry: 5
backoff: Math.Pow(2, retryNumber) * 500
execução
tentativa 1; tempo de espera 00:00:01
execução
tentativa 2; tempo de espera 00:00:02
storage 2022-05-03 16:24:47,932 INFO File /opt/app/resilience-tests/Tue May 03 13h24m47s 2022/scenarios-original.json saved to disk | |
app 2022-05-03 16:24:47,932 INFO 4860 scenarios generated | |
storage 2022-05-03 16:24:47,937 INFO File /opt/app/resilience-tests/Tue May 03 13h24m47s 2022/scenarios.json saved to disk | |
app 2022-05-03 16:24:47,938 INFO group[f0u25] starting processing 60 scenarios | |
app 2022-05-03 16:24:47,938 INFO group[f0u25] processing scenario 1/60 | |
envoy 2022-05-03 16:24:48,039 INFO Disabled delay fault injection in envoy | |
envoy 2022-05-03 16:24:48,096 INFO Enabled 503 abort fault injection in envoy for 0% of requests | |
app 2022-05-03 16:24:49,649 INFO group[f0u25] collecting user results 1/25 | |
app 2022-05-03 16:24:49,651 INFO group[f0u25] collecting user results 2/25 | |
app 2022-05-03 16:24:49,651 INFO group[f0u25] collecting user results 3/25 |
{ | |
"fault": { | |
"percentage": [25, 50, 75], | |
"duration": 3000 | |
}, | |
"concurrentUsers": [1, 25, 50, 100], | |
"rounds": 10, | |
"maxRequestsAllowed": 1000, | |
"targetSuccessfulRequests": 20, | |
"patterns": [ |
{ | |
"envoy_host": "http://envoy:9100", | |
"failure_rate": [50], | |
"concurrentUsers": [1], | |
"rounds": 5, | |
"patterns": [ | |
{ | |
"name": "polly-retry", | |
"platform": "dotnet", | |
"lib": "polly", |
[
{
"clientId": 1, # identificador único do cliente
"concurrentClients": 100, # número de clientes simultâneos
"resilienceModule": [
{
"successfulRequest": 25, # requests com sucesso
"unsuccessfulRequests": 14, # requests com erro
"totalRequests": 39, # soma de requests com e sem erro
# HELP analysis_run_info Information about analysis run. | |
# TYPE analysis_run_info gauge | |
# HELP analysis_run_metric_phase Information on the duration of a specific metric in the Analysis Run | |
# TYPE analysis_run_metric_phase gauge | |
# HELP analysis_run_metric_type Information on the type of a specific metric in the Analysis Runs | |
# TYPE analysis_run_metric_type gauge | |
# HELP analysis_run_phase Information on the state of the Analysis Run |
var express = require('express'); // importar o express | |
var bodyParser = require('body-parser'); // importar o body-parser | |
var path = require('path'); // importar lib path (nativa do node.js) | |
var firebase = require("firebase"); | |
const crypto = require("crypto"); | |
var firebaseConfig = { | |
}; |