|
|
@@ -142,62 +142,36 @@ func data(file string) []byte { |
|
|
return data
|
|
|
}
|
|
|
|
|
|
-func main() {
|
|
|
- flag.Parse()
|
|
|
-
|
|
|
- if flag.NArg() < 1 {
|
|
|
- fmt.Println("usage: mmvdump <file>")
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- file := flag.Arg(0)
|
|
|
- d := data(file)
|
|
|
-
|
|
|
- var err error
|
|
|
- header, tocs, metrics, values, instances, indoms, strings, err = mmvdump.Dump(d)
|
|
|
- if err != nil {
|
|
|
- panic(err)
|
|
|
- }
|
|
|
-
|
|
|
- fmt.Printf(`
|
|
|
-File = %v
|
|
|
-Version = %v
|
|
|
-Generated = %v
|
|
|
-Toc Count = %v
|
|
|
-Cluster = %v
|
|
|
-Process = %v
|
|
|
-Flags = 0x%x
|
|
|
-
|
|
|
-`, file, header.Version, header.G1, header.Toc, header.Cluster, header.Process, int(header.Flag))
|
|
|
-
|
|
|
- toff := mmvdump.HeaderLength
|
|
|
+func printComponents() {
|
|
|
var (
|
|
|
- itemtype string
|
|
|
- itemsize uint64
|
|
|
- printItem func(uint64)
|
|
|
+ toff = mmvdump.HeaderLength
|
|
|
+ itemtype string
|
|
|
+ itemsize uint64
|
|
|
+ printItem func(uint64)
|
|
|
+ InstanceLength, MetricLength uint64
|
|
|
)
|
|
|
|
|
|
+ if header.Version == 1 {
|
|
|
+ InstanceLength = mmvdump.Instance1Length
|
|
|
+ MetricLength = mmvdump.Metric1Length
|
|
|
+ } else {
|
|
|
+ InstanceLength = mmvdump.Instance2Length
|
|
|
+ MetricLength = mmvdump.Metric2Length
|
|
|
+ }
|
|
|
+
|
|
|
for ti, toc := range tocs {
|
|
|
switch toc.Type {
|
|
|
case mmvdump.TocInstances:
|
|
|
itemtype = "instances"
|
|
|
- if header.Version == 1 {
|
|
|
- itemsize = mmvdump.Instance1Length
|
|
|
- } else {
|
|
|
- itemsize = mmvdump.Instance2Length
|
|
|
- }
|
|
|
+ itemsize = InstanceLength
|
|
|
printItem = printInstance
|
|
|
case mmvdump.TocIndoms:
|
|
|
itemtype = "indoms"
|
|
|
itemsize = mmvdump.InstanceDomainLength
|
|
|
printItem = printInstanceDomain
|
|
|
case mmvdump.TocMetrics:
|
|
|
itemtype = "metric"
|
|
|
- if header.Version == 1 {
|
|
|
- itemsize = mmvdump.Metric1Length
|
|
|
- } else {
|
|
|
- itemsize = mmvdump.Metric2Length
|
|
|
- }
|
|
|
+ itemsize = MetricLength
|
|
|
printItem = printMetric
|
|
|
case mmvdump.TocValues:
|
|
|
itemtype = "values"
|
|
|
@@ -218,3 +192,34 @@ Flags = 0x%x |
|
|
toff += mmvdump.TocLength
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func main() {
|
|
|
+ flag.Parse()
|
|
|
+
|
|
|
+ if flag.NArg() < 1 {
|
|
|
+ fmt.Println("usage: mmvdump <file>")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ file := flag.Arg(0)
|
|
|
+ d := data(file)
|
|
|
+
|
|
|
+ var err error
|
|
|
+ header, tocs, metrics, values, instances, indoms, strings, err = mmvdump.Dump(d)
|
|
|
+ if err != nil {
|
|
|
+ panic(err)
|
|
|
+ }
|
|
|
+
|
|
|
+ fmt.Printf(`
|
|
|
+File = %v
|
|
|
+Version = %v
|
|
|
+Generated = %v
|
|
|
+Toc Count = %v
|
|
|
+Cluster = %v
|
|
|
+Process = %v
|
|
|
+Flags = 0x%x
|
|
|
+
|
|
|
+`, file, header.Version, header.G1, header.Toc, header.Cluster, header.Process, int(header.Flag))
|
|
|
+
|
|
|
+ printComponents()
|
|
|
+}
|
0 comments on commit
752f916