plugin/metrics: Switch to using promhttp instead of deprecated Handler (#1312)

prometheus.Handler is deprecated according to the godoc for the package so
instead we're using promhttp.

Additionally, we are exposing the Registry that metrics is using so other
plugins that are not inside of coredns can read the registry. Otherwise, if
we kept using the Default one, there's no way to access that from outside
of the coredns repo since it is vendored.
This commit is contained in:
James Hartig
2017-12-14 13:19:03 -05:00
committed by Miek Gieben
parent 1919913c98
commit 671d170619
6728 changed files with 1994787 additions and 16 deletions

View File

@@ -0,0 +1,63 @@
/*
* Copyright (c) 2014 by Farsight Security, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package main
import (
"fmt"
"log"
"os"
"github.com/farsightsec/golang-framestream"
)
func main() {
// Arguments.
if len(os.Args) != 2 {
fmt.Fprintf(os.Stderr, "Usage: %s <INPUT FILE>\n", os.Args[0])
fmt.Fprintf(os.Stderr, "Dumps a FrameStreams formatted input file.\n\n")
os.Exit(1)
}
fname := os.Args[1]
// Open the input file.
file, err := os.Open(fname)
if err != nil {
log.Fatal(err)
}
// Create the decoder.
fs, err := framestream.NewDecoder(file, nil)
if err != nil {
log.Fatal(err)
}
// Print the frames.
fmt.Printf("Control frame [START] (%v bytes): %x\n", len(fs.ControlStart), fs.ControlStart)
for {
frame, err := fs.Decode()
if err == framestream.EOF {
break
}
if err != nil {
log.Fatal(err)
}
fmt.Printf("Data frame (%v bytes): %x\n", len(frame), frame)
}
if fs.ControlStop != nil {
fmt.Printf("Control frame [STOP] (%v bytes): %x\n", len(fs.ControlStop), fs.ControlStop)
}
}