func (p MetricType) Version() int {
	return p.Version_
}
Returns the namespace.
package plugin
import (
	"bytes"
	"encoding/gob"
	"encoding/json"
	"time"
	"github.com/intelsdi-x/snap/core"
	"github.com/intelsdi-x/snap/core/cdata"
)
const (
	SnapAllContentType = "snap.*"
	SnapGOBContentType = "snap.gob"
	SnapJSONContentType = "snap.json"
)
type ConfigType struct {
	*cdata.ConfigDataNode
}
func (p *ConfigType) UnmarshalJSON(data []byte) error {
	cdn := cdata.NewNode()
	dec := json.NewDecoder(bytes.NewReader(data))
	dec.UseNumber()
	if err := dec.Decode(cdn); err != nil {
		return err
	}
	p.ConfigDataNode = cdn
	return nil
}
func (p ConfigType) GobEncode() ([]byte, error) {
	w := new(bytes.Buffer)
	encoder := gob.NewEncoder(w)
	if err := encoder.Encode(p.ConfigDataNode); err != nil {
		return nil, err
	}
	return w.Bytes(), nil
}
func (p *ConfigType) GobDecode(data []byte) error {
	cdn := cdata.NewNode()
	decoder := gob.NewDecoder(bytes.NewReader(data))
	if err := decoder.Decode(cdn); err != nil {
		return err
	}
	p.ConfigDataNode = cdn
	return nil
}
type MetricType struct {
	Namespace_ []core.NamespaceElement `json:"namespace"`
	LastAdvertisedTime_ time.Time `json:"last_advertised_time"`
	Version_ int `json:"version"`
	Config_ *cdata.ConfigDataNode `json:"config"`
	Data_ interface{} `json:"data"`
	Tags_ map[string]string `json:"tags"`
	Unit_ string
	Description_ string `json:"description"`
	Timestamp_ time.Time `json:"timestamp"`
}
func (p MetricType) Namespace() core.Namespace {
	return p.Namespace_
}
func (p MetricType) LastAdvertisedTime() time.Time {
	return p.LastAdvertisedTime_
}