@@ -27,28 +27,32 @@ type Agent struct {
27
27
}
28
28
29
29
type Server struct {
30
- Config string `def:"<installPrefix>/etc/pyroscope/server.yml" desc:"location of config file"`
31
- LogLevel string `def:"info", desc:"debug|info|warn|error"`
32
- // TODO: fix, doesn't see to work
30
+ Config string `def:"<installPrefix>/etc/pyroscope/server.yml" desc:"location of config file"`
31
+ LogLevel string `def:"info", desc:"debug|info|warn|error"`
33
32
BadgerLogLevel string `def:"error", desc:"debug|info|warn|error"`
34
33
35
- StoragePath string `def:"<installPrefix>/var/lib/pyroscope"`
36
- ApiBindAddr string `def:":4040"`
37
-
38
- CacheDimensionSize int `def:"1000"`
39
- CacheDictionarySize int `def:"1000"`
40
- CacheSegmentSize int `def:"1000"`
41
- CacheTreeSize int `def:"10000"`
42
-
43
- Multiplier int `def:"10"`
44
- MinResolution time.Duration `def:"10s"`
45
- MaxResolution time.Duration `def:"8760h"` // 365 days
34
+ StoragePath string `def:"<installPrefix>/var/lib/pyroscope" desc:"directory where pyroscope stores profiling data"`
35
+ ApiBindAddr string `def:":4040" desc:"port for the HTTP server used for data ingestion and web UI"`
36
+
37
+ // These will eventually be replaced by some sort of a system that keeps track of RAM
38
+ // and updates
39
+ CacheDimensionSize int `def:"1000" desc:"max number of elements in LRU cache for dimensions"`
40
+ CacheDictionarySize int `def:"1000" desc:"max number of elements in LRU cache for dictionaries"`
41
+ CacheSegmentSize int `def:"1000" desc:"max number of elements in LRU cache for segments"`
42
+ CacheTreeSize int `def:"10000" desc:"max number of elements in LRU cache for trees"`
43
+
44
+ // TODO: I don't think a lot of people will change these values.
45
+ // I think these should just be constants.
46
+ Multiplier int `skip:"true" def:"10"`
47
+ MinResolution time.Duration `skip:"true" def:"10s"`
48
+ MaxResolution time.Duration `skip:"true" def:"8760h"` // 365 days
46
49
StorageMaxDepth int `skip:"true"`
47
50
48
- MaxNodesSerialization int `def:"2048"`
49
- MaxNodesRender int `def:"2048"`
51
+ MaxNodesSerialization int `def:"2048" desc:"max number of nodes used when saving profiles to disk" `
52
+ MaxNodesRender int `def:"2048" desc:"max number of nodes used to display data on the frontend" `
50
53
51
- HideApplications []string `def:""`
54
+ // current only used in our demo app
55
+ HideApplications []string `def:"" skip:"true"`
52
56
53
57
AnalyticsOptOut bool `def:"false" desc:"disables analytics"`
54
58
}
@@ -58,12 +62,13 @@ type Convert struct {
58
62
}
59
63
60
64
type Exec struct {
61
- SpyName string `def:"auto"`
65
+ SpyName string `def:"auto" desc:"name of the profiler you want to use. Supported ones are: <supportedProfilers>" `
62
66
ApplicationName string `def:"" desc:"application name used when uploading profiling data"`
63
- DetectSubprocesses bool `def:"true"`
67
+ DetectSubprocesses bool `def:"true" desc:"makes pyroscope keep track of and profile subprocesses of the main process"`
68
+ LogLevel string `def:"info", desc:"debug|info|warn|error"`
64
69
ServerAddress string `def:"http://localhost:4040" desc:"address of the pyroscope server"`
65
70
UpstreamThreads int `def:"4" desc:"number of upload threads"`
66
- UpstreamRequestTimeout time.Duration `def:"10s"`
71
+ UpstreamRequestTimeout time.Duration `def:"10s" desc:"profile upload timeout" `
67
72
NoLogging bool `def:"false" desc:"disables logging from pyroscope"`
68
73
}
69
74
0 commit comments