mirror of https://github.com/prometheus/prometheus
Browse Source
* Print uname on prom startup * Make uname file linux-only * Add missing license headers Add missing license headers * Print OS when uname is not available * Print only OS name when uname not available * Remove extra space, fix cmd/prometheus/main.go license header * Add fix for int8 and uint8 systems * Better formatting for build tags in cmd/prometheus/uname files * Remove newlinepull/2719/head
Shashank Varanasi
8 years ago
committed by
Tobias Schmidt
5 changed files with 109 additions and 0 deletions
@ -0,0 +1,23 @@
|
||||
// Copyright 2017 The Prometheus Authors
|
||||
// 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.
|
||||
|
||||
// +build !linux
|
||||
|
||||
package main |
||||
|
||||
import "runtime" |
||||
|
||||
// Uname for any platform other than linux.
|
||||
func Uname() string { |
||||
return "(" + runtime.GOOS + ")" |
||||
} |
@ -0,0 +1,35 @@
|
||||
// Copyright 2017 The Prometheus Authors
|
||||
// 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 ( |
||||
"log" |
||||
"syscall" |
||||
) |
||||
|
||||
// Uname returns the uname of the host machine.
|
||||
func Uname() string { |
||||
buf := syscall.Utsname{} |
||||
err := syscall.Uname(&buf) |
||||
if err != nil { |
||||
log.Fatal("Error!") |
||||
} |
||||
str := "(" + charsToString(buf.Sysname[:]) |
||||
str += " " + charsToString(buf.Release[:]) |
||||
str += " " + charsToString(buf.Version[:]) |
||||
str += " " + charsToString(buf.Machine[:]) |
||||
str += " " + charsToString(buf.Nodename[:]) |
||||
str += " " + charsToString(buf.Domainname[:]) + ")" |
||||
return str |
||||
} |
@ -0,0 +1,25 @@
|
||||
// Copyright 2017 The Prometheus Authors
|
||||
// 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.
|
||||
|
||||
// +build 386 amd64 arm64 mips64 mips64le mips mipsle
|
||||
// +build linux
|
||||
|
||||
package main |
||||
|
||||
func charsToString(ca []int8) string { |
||||
s := make([]byte, len(ca)) |
||||
for i, c := range ca { |
||||
s[i] = byte(c) |
||||
} |
||||
return string(s[0:len(ca)]) |
||||
} |
@ -0,0 +1,25 @@
|
||||
// Copyright 2017 The Prometheus Authors
|
||||
// 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.
|
||||
|
||||
// +build arm ppc64 ppc64le s390x
|
||||
// +build linux
|
||||
|
||||
package main |
||||
|
||||
func charsToString(ca []uint8) string { |
||||
s := make([]byte, len(ca)) |
||||
for i, c := range ca { |
||||
s[i] = byte(c) |
||||
} |
||||
return string(s[0:len(ca)]) |
||||
} |
Loading…
Reference in new issue