Packages
step_flow
1.8.1
1.9.0-rc2
1.9.0-rc1
1.9.0-rc0
1.8.2
1.8.1
1.8.1-rc8
1.8.1-rc7
1.8.1-rc6
1.8.1-rc5
1.8.1-rc4
1.8.1-rc3
1.8.1-rc2
1.8.1-rc1
1.8.1-rc0
1.8.0
1.8.0-rc3
1.8.0-rc2
1.8.0-rc1
1.8.0-rc0
1.7.3
1.7.3-rc4
1.7.3-rc3
1.7.3-rc2
1.7.3-rc1
1.7.3-rc0
1.7.2
1.7.2-rc4
1.7.2-rc3
1.7.2-rc2
1.7.2-rc1
1.7.2-rc0
1.7.1
1.7.0
1.7.0-rc1
1.7.0-rc0
1.6.1
1.6.1-rc1
1.6.1-rc0
1.6.0
1.6.0-rc9
1.6.0-rc8
1.6.0-rc7
1.6.0-rc6
1.6.0-rc5
1.6.0-rc4
1.6.0-rc3
1.6.0-rc20
1.6.0-rc2
1.6.0-rc19
1.6.0-rc18
1.6.0-rc17
1.6.0-rc16
1.6.0-rc15
1.6.0-rc14
1.6.0-rc13
1.6.0-rc12
1.6.0-rc11
1.6.0-rc10
1.6.0-rc1
1.5.0
1.5.0-rc1
1.4.2-rc2
1.4.2-rc1
1.4.1
1.4.1-rc1
1.4.0
1.4.0-rc4
1.4.0-rc3
1.4.0-rc2
1.4.0-rc1
1.3.1
1.3.0
1.3.0-rc
1.2.0
1.1.0
1.0.0
1.0.0-rc9
1.0.0-rc8
1.0.0-rc7
1.0.0-rc6
1.0.0-rc5
1.0.0-rc1
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.4
0.0.3
0.0.2
0.0.1
Step flow manager for Elixir applications
Current section
Files
Jump to
Current section
Files
lib/step_flow/web_controllers/open_api_schemas/statistics.ex
defmodule StepFlow.WebController.OpenApiSchemas.Statistics do
@moduledoc false
alias OpenApiSpex.Schema
alias StepFlow.WebController.OpenApiSchemas.Durations.Duration
defmodule Bin do
@moduledoc false
require OpenApiSpex
OpenApiSpex.schema(%{
title: "DataBin",
description: "Data bin covering given timerange",
type: :object,
properties: %{
bin: %Schema{type: :integer, description: "Workflows in bin"},
completed: %Schema{type: :integer, description: "Completed workflows"},
error: %Schema{type: :integer, description: "Workflows in error"},
pending: %Schema{type: :integer, description: "Pending workflows"},
processing: %Schema{type: :integer, description: "Processing workflows"},
end_date: %Schema{type: :string, description: "Timerange end"},
start_date: %Schema{type: :string, description: "Timerange start"}
},
example: %{
"bin" => 2,
"completed" => 0,
"end_date" => "2022-10-13 14:56:36",
"error" => 1,
"pending" => 1,
"processing" => 0,
"start_date" => "2022-10-13 14:32:36"
}
})
end
defmodule Bins do
@moduledoc false
require OpenApiSpex
OpenApiSpex.schema(%{
title: "Bins",
description: "A collection of Bins",
type: :array,
items: Bin.schema(),
example: [
%{
"bin" => 2,
"completed" => 0,
"end_date" => "2022-10-13 14:56:36",
"error" => 1,
"pending" => 1,
"processing" => 0,
"start_date" => "2022-10-13 14:32:36"
}
]
})
end
defmodule DurationStatistics do
@moduledoc false
require OpenApiSpex
OpenApiSpex.schema(%{
title: "DurationStatistics",
description: "Duration statistics (seconds)",
type: :object,
properties: %{
average: Duration.schema(),
max: Duration.schema(),
min: Duration.schema(),
count: %Schema{type: :integer, description: "Number of elements"}
},
example: %{
"average" => %{
"order_pending" => 3_904.333,
"processing" => 50.355,
"response_pending" => 30.833,
"total" => 3_736.0
},
"count" => 6,
"max" => %{
"order_pending" => 16_459.0,
"processing" => 109.129,
"response_pending" => 51.0,
"total" => 16_480.0
},
"min" => %{
"order_pending" => 321.0,
"processing" => 15.0,
"response_pending" => 0.0,
"total" => 282.0
}
}
})
end
defmodule WorkflowStatistics do
@moduledoc false
require OpenApiSpex
OpenApiSpex.schema(%{
title: "WorkflowsStatistics",
description: "A StepFlow statistics of workflows",
type: :object,
properties: %{
completed: %Schema{type: :integer, description: "Completed workflows"},
error: %Schema{type: :integer, description: "Workflows in error"},
pending: %Schema{type: :integer, description: "Pending workflows"},
processing: %Schema{type: :integer, description: "Processing workflows"},
bins: Bins.schema()
},
example: %{
"bins" => [
%{
"bin" => 2,
"completed" => 0,
"end_date" => "2022-10-13 14:56:36",
"error" => 1,
"pending" => 1,
"processing" => 0,
"start_date" => "2022-10-13 14:32:36"
}
],
"completed" => 0,
"error" => 6,
"pending" => 3,
"processing" => 0
}
})
end
defmodule WorkflowsDurationStatistics do
@moduledoc false
require OpenApiSpex
OpenApiSpex.schema(%{
title: "WorkflowsDurationStatistics",
description: "Duration statistics for workflows (seconds)",
type: :object,
properties: %{
duration: DurationStatistics.schema(),
name: %Schema{type: :string, description: "Workflows name"},
version: %Schema{type: :string, description: "Workflows version"}
},
example: %{
"durations" => %{
"average" => %{
"order_pending" => 3_904.333,
"processing" => 50.355,
"response_pending" => 30.833,
"total" => 3_736.0
},
"count" => 6,
"max" => %{
"order_pending" => 16_459.0,
"processing" => 109.129,
"response_pending" => 51.0,
"total" => 16_480.0
},
"min" => %{
"order_pending" => 321.0,
"processing" => 15.0,
"response_pending" => 0.0,
"total" => 282.0
}
},
"name" => "workflow",
"version" => "1.1.1"
}
})
end
defmodule JobsDurationStatistics do
@moduledoc false
require OpenApiSpex
OpenApiSpex.schema(%{
title: "JobsDurationStatistics",
description: "Duration statistics for jobs (seconds)",
type: :object,
properties: %{
duration: DurationStatistics.schema(),
name: %Schema{type: :string, description: "Jobs name"}
},
example: %{
"durations" => %{
"average" => %{
"order_pending" => 3_904.333,
"processing" => 50.355,
"response_pending" => 30.833,
"total" => 3_736.0
},
"count" => 6,
"max" => %{
"order_pending" => 16_459.0,
"processing" => 109.129,
"response_pending" => 51.0,
"total" => 16_480.0
},
"min" => %{
"order_pending" => 321.0,
"processing" => 15.0,
"response_pending" => 0.0,
"total" => 282.0
}
},
"name" => "job"
}
})
end
end