Skip to content

Commit

Permalink
fix: Remove jolokia2 panic
Browse files Browse the repository at this point in the history
  • Loading branch information
PapaPiya committed Jun 28, 2022
1 parent 34cacd8 commit 7f28ec7
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 6 deletions.
8 changes: 7 additions & 1 deletion plugins/inputs/jolokia2/common/gatherer.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,13 @@ func (g *Gatherer) generatePoints(metric Metric, responses []ReadResponse) ([]po
}

pb := NewPointBuilder(metric, response.RequestAttributes, response.RequestPath)
for _, point := range pb.Build(metric.Mbean, response.Value) {
ps, err := pb.Build(metric.Mbean, response.Value)
if err != nil {
errors = append(errors, err)
continue
}

for _, point := range ps {
if response.RequestTarget != "" {
point.Tags["jolokia_agent_url"] = response.RequestTarget
}
Expand Down
10 changes: 5 additions & 5 deletions plugins/inputs/jolokia2/common/point_builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,15 @@ func NewPointBuilder(metric Metric, attributes []string, path string) *pointBuil
}

// Build generates a point for a given mbean name/pattern and value object.
func (pb *pointBuilder) Build(mbean string, value interface{}) []point {
func (pb *pointBuilder) Build(mbean string, value interface{}) ([]point, error) {
hasPattern := strings.Contains(mbean, "*")
if !hasPattern {
if !hasPattern || value == nil {
value = map[string]interface{}{mbean: value}
}

valueMap, ok := value.(map[string]interface{})
if !ok { // FIXME: log it and move on.
panic(fmt.Sprintf("There should be a map here for %s!\n", mbean))
if !ok {
return nil, fmt.Errorf("the response of %s's value should be a map", mbean)
}

points := make([]point, 0)
Expand All @@ -46,7 +46,7 @@ func (pb *pointBuilder) Build(mbean string, value interface{}) []point {
})
}

return compactPoints(points)
return compactPoints(points), nil
}

// extractTags generates the map of tags for a given mbean name/pattern.
Expand Down
12 changes: 12 additions & 0 deletions stdout
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{"fields":{"CollectionUsage.committed":2321547264,"CollectionUsage.init":27262976,"CollectionUsage.max":-1,"CollectionUsage.used":0,"PeakUsage.committed":2480930816,"PeakUsage.init":27262976,"PeakUsage.max":-1,"PeakUsage.used":2361393152,"Usage.committed":2321547264,"Usage.init":27262976,"Usage.max":-1,"Usage.used":1138753536},"name":"java_memory_pool","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:8081/jolokia"},"timestamp":1656408750}
{"fields":{"Uptime":450683712},"name":"jvm_runtime","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:8081/jolokia"},"timestamp":1656408750}
{"fields":{"CollectionCount":164,"CollectionTime":2287},"name":"java_garbage_collector","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:8081/jolokia"},"timestamp":1656408750}
{"fields":{"CollectionUsage.committed":15173353472,"CollectionUsage.init":15173353472,"CollectionUsage.max":15173353472,"CollectionUsage.used":145224304,"PeakUsage.committed":15173353472,"PeakUsage.init":15173353472,"PeakUsage.max":15173353472,"PeakUsage.used":2266522152,"Usage.committed":15173353472,"Usage.init":15173353472,"Usage.max":15173353472,"Usage.used":2266522152},"name":"java_memory_pool","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:7777/jolokia"},"timestamp":1656408750}
{"fields":{"Uptime":709896},"name":"jvm_runtime","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:7777/jolokia"},"timestamp":1656408750}
{"fields":{"CollectionCount":3,"CollectionTime":683},"name":"java_garbage_collector","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:7777/jolokia"},"timestamp":1656408750}
{"fields":{"Uptime":450693641},"name":"jvm_runtime","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:8081/jolokia"},"timestamp":1656408760}
{"fields":{"CollectionCount":0,"CollectionTime":0},"name":"java_garbage_collector","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:8081/jolokia"},"timestamp":1656408760}
{"fields":{"CollectionUsage.committed":23068672,"CollectionUsage.init":0,"CollectionUsage.max":-1,"CollectionUsage.used":23068672,"PeakUsage.committed":4915200,"PeakUsage.init":2555904,"PeakUsage.max":8183808,"PeakUsage.used":4793344,"Usage.committed":4915200,"Usage.init":2555904,"Usage.max":8183808,"Usage.used":2489984},"name":"java_memory_pool","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:8081/jolokia"},"timestamp":1656408760}
{"fields":{"Uptime":719737},"name":"jvm_runtime","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:7777/jolokia"},"timestamp":1656408760}
{"fields":{"CollectionCount":3,"CollectionTime":683},"name":"java_garbage_collector","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:7777/jolokia"},"timestamp":1656408760}
{"fields":{"CollectionUsage.committed":200605696,"CollectionUsage.init":200605696,"CollectionUsage.max":200605696,"CollectionUsage.used":87840720,"PeakUsage.committed":26935296,"PeakUsage.init":2555904,"PeakUsage.max":121737216,"PeakUsage.used":26904448,"Usage.committed":26935296,"Usage.init":2555904,"Usage.max":121737216,"Usage.used":26904448},"name":"java_memory_pool","tags":{"host":"shijinchendeMacBook-Pro.local","jolokia_agent_url":"http://100.100.61.230:7777/jolokia"},"timestamp":1656408760}

0 comments on commit 7f28ec7

Please sign in to comment.