-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathconstants.go
More file actions
121 lines (100 loc) · 3.58 KB
/
constants.go
File metadata and controls
121 lines (100 loc) · 3.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/*
* MIT License
*
* Copyright (c) 2023 EASL and the vHive community
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package common
const (
FunctionNamePrefix = "trace-func"
OneSecondInMicroseconds = 1_000_000.0
)
const (
// MinExecTimeMilli 1ms (min. billing unit of AWS)
MinExecTimeMilli = 1
// MaxExecTimeMilli 60s (avg. p96 from Wild)
MaxExecTimeMilli = 60e3
)
const (
// MaxMemQuotaMib Number taken from AWS Lambda settings
// https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console
MaxMemQuotaMib = 10_240
MinMemQuotaMib = 1
// OvercommitmentRatio Machine overcommitment ratio to provide to CPU requests in YAML specification.
// Value taken from the Firecracker NSDI'20 paper.
OvercommitmentRatio = 10
)
type IatDistribution int
const (
Exponential IatDistribution = iota
Uniform
Equidistant
)
type TraceGranularity int
const (
MinuteGranularity TraceGranularity = iota
SecondGranularity
)
type ExperimentPhase int
const (
WarmupPhase ExperimentPhase = 1
ExecutionPhase ExperimentPhase = 2
)
const (
// RequestedVsIssuedWarnThreshold Print warning on stdout if the relative difference between requested
// and issued number of invocations is higher than this threshold
RequestedVsIssuedWarnThreshold = 0.1
// RequestedVsIssuedTerminateThreshold Terminate experiment if the relative difference between
// requested and issued number of invocations is higher than this threshold
RequestedVsIssuedTerminateThreshold = 0.2
// FailedWarnThreshold Print warning on stdout if the percentage of failed invocations (e.g., connection timeouts,
// function timeouts) is greater than this threshold
FailedWarnThreshold = 0.3
// FailedTerminateThreshold Terminate experiment if the percentage of failed invocations (e.g., connection timeouts,
// function timeouts) is greater than this threshold
FailedTerminateThreshold = 0.5
)
type RuntimeAssertType int
const (
RequestedVsIssued RuntimeAssertType = 0
IssuedVsFailed RuntimeAssertType = 1
)
const (
AwsRegion = "us-east-1"
AwsTraceFuncRepositoryName = "invitro_trace_function_aws"
)
// CPULimits
const (
CPULimit1vCPU string = "1vCPU"
CPULimitGCP string = "GCP"
)
var ValidCPULimits = []string{CPULimit1vCPU, CPULimitGCP}
// platform
const (
PlatformKnative string = "knative"
PlatformDirigent string = "dirigent"
PlatformOpenWhisk string = "openwhisk"
PlatformAWSLambda string = "awslambda"
PlatformAzureFunctions string = "azurefunctions"
)
// dirigent backend
const (
BackendDandelion string = "dandelion"
)