diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index f836f5b9411..b83e3f3954e 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -154,7 +154,7 @@ }, { "ImportPath": "github.com/cpuguy83/go-md2man/md2man", - "Comment": "v1.0.3-2-g71acacd", + "Comment": "v1.0.4", "Rev": "71acacd42f85e5e82f70a55327789582a5200a90" }, { @@ -516,6 +516,7 @@ }, { "ImportPath": "github.com/spf13/pflag", + "Comment": "v0.0.1-99-g8e7dc10", "Rev": "8e7dc108ab3a1ab6ce6d922bbaff5657b88e8e49" }, { diff --git a/Godeps/_workspace/src/github.com/GoogleCloudPlatform/gcloud-golang/compute/metadata/metadata.go b/Godeps/_workspace/src/github.com/GoogleCloudPlatform/gcloud-golang/compute/metadata/metadata.go deleted file mode 100644 index b007cde6366..00000000000 --- a/Godeps/_workspace/src/github.com/GoogleCloudPlatform/gcloud-golang/compute/metadata/metadata.go +++ /dev/null @@ -1,279 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// 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 metadata provides access to Google Compute Engine (GCE) -// metadata and API service accounts. -// -// This package is a wrapper around the GCE metadata service, -// as documented at https://developers.google.com/compute/docs/metadata. -package metadata - -import ( - "encoding/json" - "fmt" - "io/ioutil" - "net" - "net/http" - "os" - "strings" - "sync" - "time" - - "google.golang.org/cloud/internal" -) - -type cachedValue struct { - k string - trim bool - mu sync.Mutex - v string -} - -var ( - projID = &cachedValue{k: "project/project-id", trim: true} - projNum = &cachedValue{k: "project/numeric-project-id", trim: true} - instID = &cachedValue{k: "instance/id", trim: true} -) - -var metaClient = &http.Client{ - Transport: &internal.Transport{ - Base: &http.Transport{ - Dial: (&net.Dialer{ - Timeout: 750 * time.Millisecond, - KeepAlive: 30 * time.Second, - }).Dial, - ResponseHeaderTimeout: 750 * time.Millisecond, - }, - }, -} - -// NotDefinedError is returned when requested metadata is not defined. -// -// The underlying string is the suffix after "/computeMetadata/v1/". -// -// This error is not returned if the value is defined to be the empty -// string. -type NotDefinedError string - -func (suffix NotDefinedError) Error() string { - return fmt.Sprintf("metadata: GCE metadata %q not defined", string(suffix)) -} - -// Get returns a value from the metadata service. -// The suffix is appended to "http://${GCE_METADATA_HOST}/computeMetadata/v1/". -// -// If the GCE_METADATA_HOST environment variable is not defined, a default of -// 169.254.169.254 will be used instead. -// -// If the requested metadata is not defined, the returned error will -// be of type NotDefinedError. -func Get(suffix string) (string, error) { - // Using a fixed IP makes it very difficult to spoof the metadata service in - // a container, which is an important use-case for local testing of cloud - // deployments. To enable spoofing of the metadata service, the environment - // variable GCE_METADATA_HOST is first inspected to decide where metadata - // requests shall go. - host := os.Getenv("GCE_METADATA_HOST") - if host == "" { - // Using 169.254.169.254 instead of "metadata" here because Go - // binaries built with the "netgo" tag and without cgo won't - // know the search suffix for "metadata" is - // ".google.internal", and this IP address is documented as - // being stable anyway. - host = "169.254.169.254" - } - url := "http://" + host + "/computeMetadata/v1/" + suffix - req, _ := http.NewRequest("GET", url, nil) - req.Header.Set("Metadata-Flavor", "Google") - res, err := metaClient.Do(req) - if err != nil { - return "", err - } - defer res.Body.Close() - if res.StatusCode == http.StatusNotFound { - return "", NotDefinedError(suffix) - } - if res.StatusCode != 200 { - return "", fmt.Errorf("status code %d trying to fetch %s", res.StatusCode, url) - } - all, err := ioutil.ReadAll(res.Body) - if err != nil { - return "", err - } - return string(all), nil -} - -func getTrimmed(suffix string) (s string, err error) { - s, err = Get(suffix) - s = strings.TrimSpace(s) - return -} - -func (c *cachedValue) get() (v string, err error) { - defer c.mu.Unlock() - c.mu.Lock() - if c.v != "" { - return c.v, nil - } - if c.trim { - v, err = getTrimmed(c.k) - } else { - v, err = Get(c.k) - } - if err == nil { - c.v = v - } - return -} - -var onGCE struct { - sync.Mutex - set bool - v bool -} - -// OnGCE reports whether this process is running on Google Compute Engine. -func OnGCE() bool { - defer onGCE.Unlock() - onGCE.Lock() - if onGCE.set { - return onGCE.v - } - onGCE.set = true - - // We use the DNS name of the metadata service here instead of the IP address - // because we expect that to fail faster in the not-on-GCE case. - res, err := metaClient.Get("http://metadata.google.internal") - if err != nil { - return false - } - onGCE.v = res.Header.Get("Metadata-Flavor") == "Google" - return onGCE.v -} - -// ProjectID returns the current instance's project ID string. -func ProjectID() (string, error) { return projID.get() } - -// NumericProjectID returns the current instance's numeric project ID. -func NumericProjectID() (string, error) { return projNum.get() } - -// InternalIP returns the instance's primary internal IP address. -func InternalIP() (string, error) { - return getTrimmed("instance/network-interfaces/0/ip") -} - -// ExternalIP returns the instance's primary external (public) IP address. -func ExternalIP() (string, error) { - return getTrimmed("instance/network-interfaces/0/access-configs/0/external-ip") -} - -// Hostname returns the instance's hostname. This will be of the form -// ".c..internal". -func Hostname() (string, error) { - return getTrimmed("instance/hostname") -} - -// InstanceTags returns the list of user-defined instance tags, -// assigned when initially creating a GCE instance. -func InstanceTags() ([]string, error) { - var s []string - j, err := Get("instance/tags") - if err != nil { - return nil, err - } - if err := json.NewDecoder(strings.NewReader(j)).Decode(&s); err != nil { - return nil, err - } - return s, nil -} - -// InstanceID returns the current VM's numeric instance ID. -func InstanceID() (string, error) { - return instID.get() -} - -// InstanceName returns the current VM's instance ID string. -func InstanceName() (string, error) { - host, err := Hostname() - if err != nil { - return "", err - } - return strings.Split(host, ".")[0], nil -} - -// Zone returns the current VM's zone, such as "us-central1-b". -func Zone() (string, error) { - zone, err := getTrimmed("instance/zone") - // zone is of the form "projects//zones/". - if err != nil { - return "", err - } - return zone[strings.LastIndex(zone, "/")+1:], nil -} - -// InstanceAttributes returns the list of user-defined attributes, -// assigned when initially creating a GCE VM instance. The value of an -// attribute can be obtained with InstanceAttributeValue. -func InstanceAttributes() ([]string, error) { return lines("instance/attributes/") } - -// ProjectAttributes returns the list of user-defined attributes -// applying to the project as a whole, not just this VM. The value of -// an attribute can be obtained with ProjectAttributeValue. -func ProjectAttributes() ([]string, error) { return lines("project/attributes/") } - -func lines(suffix string) ([]string, error) { - j, err := Get(suffix) - if err != nil { - return nil, err - } - s := strings.Split(strings.TrimSpace(j), "\n") - for i := range s { - s[i] = strings.TrimSpace(s[i]) - } - return s, nil -} - -// InstanceAttributeValue returns the value of the provided VM -// instance attribute. -// -// If the requested attribute is not defined, the returned error will -// be of type NotDefinedError. -// -// InstanceAttributeValue may return ("", nil) if the attribute was -// defined to be the empty string. -func InstanceAttributeValue(attr string) (string, error) { - return Get("instance/attributes/" + attr) -} - -// ProjectAttributeValue returns the value of the provided -// project attribute. -// -// If the requested attribute is not defined, the returned error will -// be of type NotDefinedError. -// -// ProjectAttributeValue may return ("", nil) if the attribute was -// defined to be the empty string. -func ProjectAttributeValue(attr string) (string, error) { - return Get("project/attributes/" + attr) -} - -// Scopes returns the service account scopes for the given account. -// The account may be empty or the string "default" to use the instance's -// main account. -func Scopes(serviceAccount string) ([]string, error) { - if serviceAccount == "" { - serviceAccount = "default" - } - return lines("instance/service-accounts/" + serviceAccount + "/scopes") -} diff --git a/Godeps/_workspace/src/github.com/google/cadvisor/metrics/testdata/prometheus_metrics b/Godeps/_workspace/src/github.com/google/cadvisor/metrics/testdata/prometheus_metrics new file mode 100644 index 00000000000..5e7de5efda8 --- /dev/null +++ b/Godeps/_workspace/src/github.com/google/cadvisor/metrics/testdata/prometheus_metrics @@ -0,0 +1,155 @@ +# HELP container_cpu_system_seconds_total Cumulative system cpu time consumed in seconds. +# TYPE container_cpu_system_seconds_total counter +container_cpu_system_seconds_total{id="testcontainer",image="test",name="testcontainer"} 7e-09 +# HELP container_cpu_usage_seconds_total Cumulative cpu time consumed per cpu in seconds. +# TYPE container_cpu_usage_seconds_total counter +container_cpu_usage_seconds_total{cpu="cpu00",id="testcontainer",image="test",name="testcontainer"} 2e-09 +container_cpu_usage_seconds_total{cpu="cpu01",id="testcontainer",image="test",name="testcontainer"} 3e-09 +container_cpu_usage_seconds_total{cpu="cpu02",id="testcontainer",image="test",name="testcontainer"} 4e-09 +container_cpu_usage_seconds_total{cpu="cpu03",id="testcontainer",image="test",name="testcontainer"} 5e-09 +# HELP container_cpu_user_seconds_total Cumulative user cpu time consumed in seconds. +# TYPE container_cpu_user_seconds_total counter +container_cpu_user_seconds_total{id="testcontainer",image="test",name="testcontainer"} 6e-09 +# HELP container_fs_io_current Number of I/Os currently in progress +# TYPE container_fs_io_current gauge +container_fs_io_current{device="sda1",id="testcontainer",image="test",name="testcontainer"} 42 +container_fs_io_current{device="sda2",id="testcontainer",image="test",name="testcontainer"} 47 +# HELP container_fs_io_time_seconds_total Cumulative count of seconds spent doing I/Os +# TYPE container_fs_io_time_seconds_total counter +container_fs_io_time_seconds_total{device="sda1",id="testcontainer",image="test",name="testcontainer"} 4.3e-08 +container_fs_io_time_seconds_total{device="sda2",id="testcontainer",image="test",name="testcontainer"} 4.8e-08 +# HELP container_fs_io_time_weighted_seconds_total Cumulative weighted I/O time in seconds +# TYPE container_fs_io_time_weighted_seconds_total counter +container_fs_io_time_weighted_seconds_total{device="sda1",id="testcontainer",image="test",name="testcontainer"} 4.4e-08 +container_fs_io_time_weighted_seconds_total{device="sda2",id="testcontainer",image="test",name="testcontainer"} 4.9e-08 +# HELP container_fs_limit_bytes Number of bytes that can be consumed by the container on this filesystem. +# TYPE container_fs_limit_bytes gauge +container_fs_limit_bytes{device="sda1",id="testcontainer",image="test",name="testcontainer"} 22 +container_fs_limit_bytes{device="sda2",id="testcontainer",image="test",name="testcontainer"} 37 +# HELP container_fs_read_seconds_total Cumulative count of seconds spent reading +# TYPE container_fs_read_seconds_total counter +container_fs_read_seconds_total{device="sda1",id="testcontainer",image="test",name="testcontainer"} 2.7e-08 +container_fs_read_seconds_total{device="sda2",id="testcontainer",image="test",name="testcontainer"} 4.2e-08 +# HELP container_fs_reads_merged_total Cumulative count of reads merged +# TYPE container_fs_reads_merged_total counter +container_fs_reads_merged_total{device="sda1",id="testcontainer",image="test",name="testcontainer"} 25 +container_fs_reads_merged_total{device="sda2",id="testcontainer",image="test",name="testcontainer"} 40 +# HELP container_fs_reads_total Cumulative count of reads completed +# TYPE container_fs_reads_total counter +container_fs_reads_total{device="sda1",id="testcontainer",image="test",name="testcontainer"} 24 +container_fs_reads_total{device="sda2",id="testcontainer",image="test",name="testcontainer"} 39 +# HELP container_fs_sector_reads_total Cumulative count of sector reads completed +# TYPE container_fs_sector_reads_total counter +container_fs_sector_reads_total{device="sda1",id="testcontainer",image="test",name="testcontainer"} 26 +container_fs_sector_reads_total{device="sda2",id="testcontainer",image="test",name="testcontainer"} 41 +# HELP container_fs_sector_writes_total Cumulative count of sector writes completed +# TYPE container_fs_sector_writes_total counter +container_fs_sector_writes_total{device="sda1",id="testcontainer",image="test",name="testcontainer"} 40 +container_fs_sector_writes_total{device="sda2",id="testcontainer",image="test",name="testcontainer"} 45 +# HELP container_fs_usage_bytes Number of bytes that are consumed by the container on this filesystem. +# TYPE container_fs_usage_bytes gauge +container_fs_usage_bytes{device="sda1",id="testcontainer",image="test",name="testcontainer"} 23 +container_fs_usage_bytes{device="sda2",id="testcontainer",image="test",name="testcontainer"} 38 +# HELP container_fs_write_seconds_total Cumulative count of seconds spent writing +# TYPE container_fs_write_seconds_total counter +container_fs_write_seconds_total{device="sda1",id="testcontainer",image="test",name="testcontainer"} 4.1e-08 +container_fs_write_seconds_total{device="sda2",id="testcontainer",image="test",name="testcontainer"} 4.6e-08 +# HELP container_fs_writes_merged_total Cumulative count of writes merged +# TYPE container_fs_writes_merged_total counter +container_fs_writes_merged_total{device="sda1",id="testcontainer",image="test",name="testcontainer"} 39 +container_fs_writes_merged_total{device="sda2",id="testcontainer",image="test",name="testcontainer"} 44 +# HELP container_fs_writes_total Cumulative count of writes completed +# TYPE container_fs_writes_total counter +container_fs_writes_total{device="sda1",id="testcontainer",image="test",name="testcontainer"} 28 +container_fs_writes_total{device="sda2",id="testcontainer",image="test",name="testcontainer"} 43 +# HELP container_last_seen Last time a container was seen by the exporter +# TYPE container_last_seen gauge +container_last_seen{id="testcontainer",image="test",name="testcontainer"} 1.426203694e+09 +# HELP container_memory_failures_total Cumulative count of memory allocation failures. +# TYPE container_memory_failures_total counter +container_memory_failures_total{id="testcontainer",image="test",name="testcontainer",scope="container",type="pgfault"} 10 +container_memory_failures_total{id="testcontainer",image="test",name="testcontainer",scope="container",type="pgmajfault"} 11 +container_memory_failures_total{id="testcontainer",image="test",name="testcontainer",scope="hierarchy",type="pgfault"} 12 +container_memory_failures_total{id="testcontainer",image="test",name="testcontainer",scope="hierarchy",type="pgmajfault"} 13 +# HELP container_memory_usage_bytes Current memory usage in bytes. +# TYPE container_memory_usage_bytes gauge +container_memory_usage_bytes{id="testcontainer",image="test",name="testcontainer"} 8 +# HELP container_memory_working_set_bytes Current working set in bytes. +# TYPE container_memory_working_set_bytes gauge +container_memory_working_set_bytes{id="testcontainer",image="test",name="testcontainer"} 9 +# HELP container_network_receive_bytes_total Cumulative count of bytes received +# TYPE container_network_receive_bytes_total counter +container_network_receive_bytes_total{id="testcontainer",image="test",interface="eth0",name="testcontainer"} 14 +# HELP container_network_receive_errors_total Cumulative count of errors encountered while receiving +# TYPE container_network_receive_errors_total counter +container_network_receive_errors_total{id="testcontainer",image="test",interface="eth0",name="testcontainer"} 16 +# HELP container_network_receive_packets_dropped_total Cumulative count of packets dropped while receiving +# TYPE container_network_receive_packets_dropped_total counter +container_network_receive_packets_dropped_total{id="testcontainer",image="test",interface="eth0",name="testcontainer"} 17 +# HELP container_network_receive_packets_total Cumulative count of packets received +# TYPE container_network_receive_packets_total counter +container_network_receive_packets_total{id="testcontainer",image="test",interface="eth0",name="testcontainer"} 15 +# HELP container_network_transmit_bytes_total Cumulative count of bytes transmitted +# TYPE container_network_transmit_bytes_total counter +container_network_transmit_bytes_total{id="testcontainer",image="test",interface="eth0",name="testcontainer"} 18 +# HELP container_network_transmit_errors_total Cumulative count of errors encountered while transmitting +# TYPE container_network_transmit_errors_total counter +container_network_transmit_errors_total{id="testcontainer",image="test",interface="eth0",name="testcontainer"} 20 +# HELP container_network_transmit_packets_dropped_total Cumulative count of packets dropped while transmitting +# TYPE container_network_transmit_packets_dropped_total counter +container_network_transmit_packets_dropped_total{id="testcontainer",image="test",interface="eth0",name="testcontainer"} 21 +# HELP container_network_transmit_packets_total Cumulative count of packets transmitted +# TYPE container_network_transmit_packets_total counter +container_network_transmit_packets_total{id="testcontainer",image="test",interface="eth0",name="testcontainer"} 19 +# HELP container_scrape_error 1 if there was an error while getting container metrics, 0 otherwise +# TYPE container_scrape_error gauge +container_scrape_error 0 +# HELP container_tasks_state Number of tasks in given state +# TYPE container_tasks_state gauge +container_tasks_state{id="testcontainer",image="test",name="testcontainer",state="iowaiting"} 54 +container_tasks_state{id="testcontainer",image="test",name="testcontainer",state="running"} 51 +container_tasks_state{id="testcontainer",image="test",name="testcontainer",state="sleeping"} 50 +container_tasks_state{id="testcontainer",image="test",name="testcontainer",state="stopped"} 52 +container_tasks_state{id="testcontainer",image="test",name="testcontainer",state="uninterruptible"} 53 +# HELP http_request_duration_microseconds The HTTP request latencies in microseconds. +# TYPE http_request_duration_microseconds summary +http_request_duration_microseconds{handler="prometheus",quantile="0.5"} 0 +http_request_duration_microseconds{handler="prometheus",quantile="0.9"} 0 +http_request_duration_microseconds{handler="prometheus",quantile="0.99"} 0 +http_request_duration_microseconds_sum{handler="prometheus"} 0 +http_request_duration_microseconds_count{handler="prometheus"} 0 +# HELP http_request_size_bytes The HTTP request sizes in bytes. +# TYPE http_request_size_bytes summary +http_request_size_bytes{handler="prometheus",quantile="0.5"} 0 +http_request_size_bytes{handler="prometheus",quantile="0.9"} 0 +http_request_size_bytes{handler="prometheus",quantile="0.99"} 0 +http_request_size_bytes_sum{handler="prometheus"} 0 +http_request_size_bytes_count{handler="prometheus"} 0 +# HELP http_response_size_bytes The HTTP response sizes in bytes. +# TYPE http_response_size_bytes summary +http_response_size_bytes{handler="prometheus",quantile="0.5"} 0 +http_response_size_bytes{handler="prometheus",quantile="0.9"} 0 +http_response_size_bytes{handler="prometheus",quantile="0.99"} 0 +http_response_size_bytes_sum{handler="prometheus"} 0 +http_response_size_bytes_count{handler="prometheus"} 0 +# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds. +# TYPE process_cpu_seconds_total counter +process_cpu_seconds_total 0 +# HELP process_goroutines Number of goroutines that currently exist. +# TYPE process_goroutines gauge +process_goroutines 16 +# HELP process_max_fds Maximum number of open file descriptors. +# TYPE process_max_fds gauge +process_max_fds 1024 +# HELP process_open_fds Number of open file descriptors. +# TYPE process_open_fds gauge +process_open_fds 4 +# HELP process_resident_memory_bytes Resident memory size in bytes. +# TYPE process_resident_memory_bytes gauge +process_resident_memory_bytes 7.74144e+06 +# HELP process_start_time_seconds Start time of the process since unix epoch in seconds. +# TYPE process_start_time_seconds gauge +process_start_time_seconds 1.42620369439e+09 +# HELP process_virtual_memory_bytes Virtual memory size in bytes. +# TYPE process_virtual_memory_bytes gauge +process_virtual_memory_bytes 1.16420608e+08 diff --git a/Godeps/_workspace/src/github.com/google/cadvisor/utils/machine/testdata/cpuinfo b/Godeps/_workspace/src/github.com/google/cadvisor/utils/machine/testdata/cpuinfo new file mode 100644 index 00000000000..ca2b722a560 --- /dev/null +++ b/Godeps/_workspace/src/github.com/google/cadvisor/utils/machine/testdata/cpuinfo @@ -0,0 +1,251 @@ +processor : 0 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 1596.000 +cache size : 12288 KB +physical id : 0 +siblings : 6 +core id : 0 +cpu cores : 6 +apicid : 0 +initial apicid : 0 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual + +processor : 1 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 1596.000 +cache size : 12288 KB +physical id : 0 +siblings : 6 +core id : 1 +cpu cores : 6 +apicid : 2 +initial apicid : 2 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual + +processor : 2 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 1596.000 +cache size : 12288 KB +physical id : 0 +siblings : 6 +core id : 2 +cpu cores : 6 +apicid : 4 +initial apicid : 4 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual + +processor : 3 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 1596.000 +cache size : 12288 KB +physical id : 1 +siblings : 6 +core id : 3 +cpu cores : 6 +apicid : 16 +initial apicid : 16 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual + +processor : 4 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 1596.000 +cache size : 12288 KB +physical id : 1 +siblings : 6 +core id : 4 +cpu cores : 6 +apicid : 18 +initial apicid : 18 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual + +processor : 5 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 1596.000 +cache size : 12288 KB +physical id : 1 +siblings : 6 +core id : 5 +cpu cores : 6 +apicid : 20 +initial apicid : 20 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual + +processor : 6 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 2661.000 +cache size : 12288 KB +physical id : 0 +siblings : 6 +core id : 0 +cpu cores : 6 +apicid : 1 +initial apicid : 1 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual + +processor : 7 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 2661.000 +cache size : 12288 KB +physical id : 0 +siblings : 6 +core id : 1 +cpu cores : 6 +apicid : 3 +initial apicid : 3 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual + +processor : 8 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 1596.000 +cache size : 12288 KB +physical id : 0 +siblings : 6 +core id : 2 +cpu cores : 6 +apicid : 5 +initial apicid : 5 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual + +processor : 9 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 2661.000 +cache size : 12288 KB +physical id : 1 +siblings : 6 +core id : 3 +cpu cores : 6 +apicid : 17 +initial apicid : 17 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual + +processor : 10 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 1596.000 +cache size : 12288 KB +physical id : 1 +siblings : 6 +core id : 4 +cpu cores : 6 +apicid : 19 +initial apicid : 19 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +processor : 11 +cpu family : 6 +stepping : 2 +microcode : 0x10 +cpu MHz : 2661.000 +cache size : 12288 KB +physical id : 1 +siblings : 6 +core id : 5 +cpu cores : 6 +apicid : 21 +initial apicid : 21 +fpu : yes +fpu_exception : yes +cpuid level : 11 +wp : yes +bogomips : 5333.60 +clflush size : 64 +cache_alignment : 64 +address sizes : 40 bits physical, 48 bits virtual +