Commit graph

814 commits

Author SHA1 Message Date
Oliver Geiselhardt-Herms cc4f13b369 Fix build
Signed-off-by: Oliver Geiselhardt-Herms <oliver.geiselhardt-herms@sap.com>
2021-06-17 13:22:17 +02:00
Ben Kochie 27dc754aeb
Merge pull request #1832 from ventifus/master
Add a new ethtool stats collector
2021-06-16 10:07:50 +02:00
ventifus 76c0e1e5a1
Update collector/ethtool_linux.go
Signed-off-by: W. Andrew Denton <git@flying-snail.net>

Co-authored-by: Manuel Rüger <manuel@rueg.eu>
2021-06-11 09:02:08 -07:00
Julien Pivotto 99af1dbb44 Update logic
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-06-04 11:35:07 +02:00
Julien Pivotto 2e20d668f2 Only iniate collectors once
When /metrics is called for specific collectors, the collectors are
initialed every time. Which means that we spend a lot of time
re-initiating the same collectors again and again. Especially, some
collectors make the assumptions that that are initiated once - e.g.
systemd collector generates info message upon initiation.

Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-06-04 11:20:56 +02:00
Ben Kochie e1db354611
Merge pull request #1887 from prometheus/superq/promhttp_errorlog
Add ErrorLog plumbing to promhttp
2021-06-03 16:38:30 +02:00
Ben Kochie 3bc9a93c20
Add ErrorLog plumbing to promhttp
Fix the error logging of the promhttp handler by connecting it to the
promlog setup.
* Switch to go-kit/log.
* Cleanup CHANGELOG.

Fixes: https://github.com/prometheus/node_exporter/issues/1886

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-06-03 10:47:41 +02:00
kcx2366425574 9eff6761df fix the uncorrect word
Signed-off-by: kcx2366425574 <18279911430@163.com>
2021-05-26 09:58:37 +08:00
W. Andrew Denton 892893ff05 ethtool: Log stats collection errors.
Signed-off-by: W. Andrew Denton <git@flying-snail.net>
2021-05-14 10:07:30 -07:00
Hu Shuai 5ee20043a7 Fix golint issue caused by typo
Signed-off-by: Hu Shuai <hus.fnst@cn.fujitsu.com>
2021-05-11 09:55:52 +08:00
W. Andrew Denton 807f3c3af3 ethtool: Remove end-to-end testing.
Signed-off-by: W. Andrew Denton <git@flying-snail.net>
2021-05-03 09:35:49 -07:00
W. Andrew Denton 596ff45f8f ethtool: Add a new ethtool stats collector (metrics equivalent to "ethtool -S")
Signed-off-by: W. Andrew Denton <git@flying-snail.net>
2021-04-29 11:07:26 -07:00
Ben Kochie 7b5cc3e505
Add Darwin arm64 build
Add darwin/arm64 to the CGO crossbuilder list.
* Update Makefile.common to pick up new promu.
* Fix possible nil pointer caught by staticcheck.
* Update collector build tags.

https://github.com/prometheus/node_exporter/issues/1997

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-04-14 10:39:52 +02:00
ston1th 2b7aa4c303 Fix wrong value for OpenBSD memory buffer cache
Fixes #1972

Signed-off-by: ston1th <ston1th@giftfish.de>
2021-04-03 16:57:56 +02:00
Frederic Hemberger 39124626cd Rename collector.filesystem flags to match other collectors
Ref: #1743
Fixes: #1994

Signed-off-by: Frederic Hemberger <mail@frederic-hemberger.de>
2021-03-24 21:01:10 +01:00
Ben Kochie 81caeb6a1b
Merge pull request #2000 from prometheus/fixpanic-systemd-backwards-compat
Fix panix when using backwards compatible flags
2021-03-19 16:22:42 +01:00
Ben Kochie 9893fca77e
Add flag to ignore network speed if it is unknown
Some devices (ex virtual) don't have a speed and report `-1` as the
speed value. Add a flag to allow ignoring speed on these devices.

Fixes: https://github.com/prometheus/node_exporter/issues/1967

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-03-18 11:36:31 +01:00
Julien Pivotto e7649ba48e Fix panix when using backwards compatible flags
Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
2021-03-15 14:59:49 +01:00
Ben Kochie 3b3ef7357f
Silence missing netclass errors
* Handle no such file and permission denied errors.
* Reduce excessive error wrapping.

Fixes: https://github.com/prometheus/node_exporter/issues/1840

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-03-03 20:40:08 +01:00
Ben Kochie 23e5b245a4
Sanitize strings from /sys/class/power_supply
Avoid panic on invalid UTF-8 from /sys/class/power_supply by
sanitizing strings parsed from the kernel.
* Add a broken string to the test fixtures.

Fixes: https://github.com/prometheus/node_exporter/issues/1979

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-03-03 18:05:51 +01:00
Ben Kochie 46d0a0813f
Handle errors from disabled PSI subsystem
When CONFIG_PSI_DEFAULT_DISABLED=y, the pressure system returns
"operation not supported", rather than permission denied or not
exposing the /proc/pressure files.

Fixes: https://github.com/prometheus/node_exporter/issues/1961

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-03-03 11:02:28 +01:00
Ben Kochie 5a6551e8ae
Fix some noisy log lines
* Bump procfs to include some fixes to error messages.
* Lower zpoolStatePaths log from Warn to Debug.

Fixes: https://github.com/prometheus/node_exporter/issues/1961
Fixes: https://github.com/prometheus/node_exporter/issues/1960

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-02-10 16:16:54 +01:00
Hu Shuai 4109a5089f Fix ineffassign issue
Signed-off-by: Hu Shuai <hus.fnst@cn.fujitsu.com>
2021-02-08 10:53:12 +08:00
Ben Kochie a37d3f659c
Release 1.1.0
* Update Build
  - Update CircleCI orb.
  - Update CIrcleCI Machine image.
  - Use golang-builder 1.15.
* Update Go modules.
* Fixup fixtures for XFS bug.

NOTE: We have improved some of the flag naming conventions (PR #1743). The old names are
      deprecated and will be removed in 2.0. They will continue to work for backwards
      compatibility.

* [CHANGE] Improve filter flag names #1743
* [CHANGE] Add btrfs and powersupplyclass to list of exporters enabled by default #1897
* [FEATURE] Add fibre channel collector #1786
* [FEATURE] Expose cpu bugs and flags as info metrics. #1788
* [FEATURE] Add network_route collector #1811
* [FEATURE] Add zoneinfo collector #1922
* [ENHANCEMENT] Add more InfiniBand counters #1694
* [ENHANCEMENT] Add flag to aggr ipvs metrics to avoid high cardinality metrics #1709
* [ENHANCEMENT] Adding backlog/current queue length to qdisc collector #1732
* [ENHANCEMENT] Include TCP OutRsts in netstat metrics #1733
* [ENHANCEMENT] Add pool size to entropy collector #1753
* [ENHANCEMENT] Remove CGO dependencies for OpenBSD amd64 #1774
* [ENHANCEMENT] bcache: add writeback_rate_debug stats #1658
* [ENHANCEMENT] Add check state for mdadm arrays via node_md_state metric #1810
* [ENHANCEMENT] Expose XFS inode statistics #1870
* [ENHANCEMENT] Expose zfs zpool state #1878
* [ENHANCEMENT] Added an ability to pass collector.supervisord.url via SUPERVISORD_URL environment variable #1947
* [BUGFIX] filesystem_freebsd: Fix label values #1728
* [BUGFIX] Fix various procfs parsing errors #1735
* [BUGFIX] Handle no data from powersupplyclass #1747
* [BUGFIX] udp_queues_linux.go: change upd to udp in two error strings #1769
* [BUGFIX] Fix node_scrape_collector_success behaviour #1816
* [BUGFIX] Fix NodeRAIDDegraded to not use a string rule expressions #1827
* [BUGFIX] Fix node_md_disks state label from fail to failed #1862
* [BUGFIX] Handle EPERM for syscall in timex collector #1938
* [BUGFIX] bcache: fix typo in a metric name #1943
* [BUGFIX] Fix XFS read/write stats (https://github.com/prometheus/procfs/pull/343)

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-02-05 21:23:23 +01:00
Ben Kochie 43b91ac846
Merge pull request #1954 from prometheus/superq/noisy_rapl
Fix rapl collector log noise
2021-02-05 21:20:53 +01:00
Ben Kochie dc5a94c803
Fix rapl collector log noise
Catch permission denined errors in the rapl collector.

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-02-05 18:16:17 +01:00
Ben Kochie 0b0c5624e1
Fix network_route collector naming
* Use `device` label to match other `node_network_...` metics.
* Fix naming convention to match Promehteus best practices.

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-02-05 18:10:42 +01:00
Ben Kochie 1729558e11
Merge pull request #1922 from kwisniewski98/zone
Add zoneinfo collector
2021-02-05 13:57:54 +01:00
Ben Kochie 78682c80af
Merge pull request #1786 from deusnefum/master
Add fibre channel collector
2021-02-03 18:22:59 +01:00
mhiles 5a28930e2e change fc_host everywhere, update fixtures
Signed-off-by: mhiles <hiles@hpe.com>
2021-02-03 09:35:58 -05:00
Ben Kochie 22c5aeb0ef
Merge pull request #1943 from hs0210/work
bcache: fix typo
2021-02-03 09:57:23 +01:00
Ben Kochie 477a192803
Merge pull request #1947 from Oloremo/supervisord_env_vars
Added an ability to pass collector.supervisord.url via ENV vars
2021-02-03 08:35:43 +01:00
mhiles 56eba80306 add fibrechannel to default list in read me; host -> fc_host to avoid name collision
Signed-off-by: mhiles <hiles@hpe.com>
2021-02-02 18:05:24 -05:00
Matthew Hiles 3fcccd5b14 Update collector/fibrechannel_linux.go
Co-authored-by: Ben Kochie <superq@gmail.com>
Signed-off-by: mhiles <hiles@hpe.com>
2021-02-02 16:47:56 -05:00
mhiles 19790920b2 update fibrechannel fixture
Signed-off-by: mhiles <hiles@hpe.com>
2021-01-29 10:38:45 -05:00
mhiles 6e02d5bff1 invalid_tx_word_total -> invalid_tx_words_total
Signed-off-by: mhiles <hiles@hpe.com>
2021-01-29 10:28:22 -05:00
Dustin Hooten eecfbcd610 PR feedback
Signed-off-by: Dustin Hooten <dustinhooten@gmail.com>
2021-01-29 10:37:56 +01:00
Dustin Hooten b7626ecdbf ProcessStatCollector: continue if PID disappears between opening and reading file
Signed-off-by: Dustin Hooten <dustinhooten@gmail.com>
2021-01-29 10:37:56 +01:00
Proskurin Kirill 8d147327a6 feat: Added an ability to pass collector.supervisord.url via SUPERVISORD_URL environment variable
Signed-off-by: Proskurin Kirill <kirill.proskurin@behavox.com>
2021-01-27 18:09:52 +00:00
Wisniewski, Krzysztof2 997a8fbb7f Add zoneinfo collector
Signed-off-by: Wisniewski, Krzysztof2 <Krzysztof2.Wisniewski@intel.com>
2021-01-26 12:00:35 +01:00
Hu Shuai 0900cb5655 bcache: fix typo
Fix typos in collector/bcache_linux.go and collector/fixtures/e2e-output.txt

Signed-off-by: Hu Shuai <hus.fnst@cn.fujitsu.com>
2021-01-25 13:50:16 +08:00
Ben Kochie 7904ea4af2
Update netdev OpenBSD amd64 filter
Use new filtering method from #1826

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-01-24 16:37:02 +01:00
Ben Kochie 40ce993d5b
Merge pull request #1816 from liiling/master
Fix node_scrape_collector_success behaviour
2021-01-24 15:28:41 +01:00
Ben Kochie 9fab63825b
Merge pull request #1753 from binjip978/entropy
add pool size to entropy collector
2021-01-24 14:57:33 +01:00
Ben Kochie cb6509f1ac
Merge pull request #1826 from digineo/device-filter
Move ignore/accept to new netDevFilter struct
2021-01-24 14:55:29 +01:00
Ben Kochie 8536df5bbb
Merge branch 'master' into network_route 2021-01-24 14:46:00 +01:00
Ben Kochie e785e06e85
Merge pull request #1884 from xinau/patch-1
collector/filesystem: fixing logging message
2021-01-24 14:40:36 +01:00
Ben Kochie 1d03daf616
Handle EPERM for syscall in timex collector
Handle case where Adjtimex syscall gets a permission denined error.

Fixes: https://github.com/prometheus/node_exporter/issues/1934

Signed-off-by: Ben Kochie <superq@gmail.com>
2021-01-23 14:22:46 +01:00
Ben Kochie 8a3cc9db05
Merge pull request #1694 from treydock/ib-counters
Add more IB counters
2020-12-14 01:07:58 +01:00
Ben Kochie 3b8a7f6ef3
Merge pull request #1774 from ston1th/openbsd_amd64
remove openbsd amd64 cgo dependecies
2020-12-14 01:06:03 +01:00
kamijin_fanta 67480c5e5b repalce to jsimonetti/rtnetlink
Signed-off-by: kamijin_fanta <kamijin@live.jp>
2020-12-04 11:37:02 +09:00
kamijin_fanta 1f5898999e add network_route collector
Signed-off-by: kamijin_fanta <kamijin@live.jp>
2020-12-04 10:32:34 +09:00
ston1th 91bec7c53c fixed build
new type: `netDevStats map[string]map[string]uint64`

Signed-off-by: ston1th <ston1th@giftfish.de>
2020-11-12 23:52:03 +01:00
ston1th 1450a92a68 move const values to iota plus code cleanup
Signed-off-by: ston1th <ston1th@giftfish.de>
2020-11-12 23:37:57 +01:00
ston1th bdba65df16 skip null bytes at the end of strings
Signed-off-by: ston1th <ston1th@giftfish.de>
2020-11-12 23:37:57 +01:00
ston1th 26bd6bf99d more build fixes
Signed-off-by: ston1th <ston1th@giftfish.de>
2020-11-12 23:37:56 +01:00
ston1th 386992e984 fixed build
Signed-off-by: ston1th <ston1th@giftfish.de>
2020-11-12 23:37:56 +01:00
ston1th f8609aeee2 remove openbsd amd64 cgo dependecies
I have rewritten all CGO dependencies for OpenBSD amd64
using pure go, be able to crosscompile node_exporter.

Signed-off-by: ston1th <ston1th@giftfish.de>
2020-11-12 23:37:48 +01:00
Trey Dockendorf 0692791457 Add more IB counters
Signed-off-by: Trey Dockendorf <tdockendorf@osc.edu>
2020-11-12 09:35:13 -05:00
xinau daa7303a82 collector/filesystem: fixing logging message
this change fixes the logging message for the filesystem ignored-fs-types flag to output the flag instead of the mountpoints flag.

Signed-off-by: xinau <felix.ehrenpfort@protonmail.com>
2020-11-12 15:27:33 +01:00
Artur Molchanov 519203e3d0 Expose zfs zpool state
Create a metric node_zfs_zpool_state.

Signed-off-by: Artur Molchanov <artur.molchanov@easybrain.com>
2020-10-27 17:39:13 +03:00
Ondrej Baudys ed10485073
Expose XFS inode statistics (#1869) (#1870)
* Expose XFS inode statistics (#1869)

Also fixes #1177

@SuperQ @discordianfish

Signed-off-by: Ondrej Baudys <obaudys@gmail.com>
Co-authored-by: obaudys@gmail.com <ondrej.baudys@nextgen.net>
2020-10-22 18:14:33 +02:00
Ben Kochie 306a365377 Downgrade CPU counter warnings
We've gathered enough evidence that the CPU counter bug workaround is
working as intended. Downgrade the message from Warning to Debug.

Signed-off-by: Ben Kochie <superq@gmail.com>
2020-10-01 12:41:15 +02:00
Christian Rohmann a3aaf63bb1
Add check state for mdadm arrays via node_md_state metric (#1810)
* Expose metric for state=check for node_md_state
* Added new e2e output fixture including md201 which is in checking state and a the new state=check labeled metric for all other md

Signed-off-by: Christian Rohmann <github@frittentheke.de>
2020-09-27 13:44:45 +02:00
Julius Volz d05aac43e4 Fix capitalization of CPU acronym throughout
Signed-off-by: Julius Volz <julius.volz@gmail.com>
2020-09-03 23:34:33 +02:00
Li Ling bf154d485b Differentiate ErrNoData and other errors (#1323, #1723)
Signed-off-by: Li Ling <liiling@google.com>
2020-09-01 16:21:36 +02:00
Li Ling 875f437fcc Conntrack update: differentiate ErrNoData and other errors (#1323, #1723)
Signed-off-by: Li Ling <liiling@google.com>
2020-08-26 14:35:39 +02:00
Julian Kornberger 2d412c6ce6 Move ignore/accept to new netDevFilter struct
Signed-off-by: Julian Kornberger <jk+github@digineo.de>
2020-08-26 11:33:05 +02:00
Julian Kornberger 66fb6762bf
Netdev tweaks (#1558)
* Check interface name before loading interface data
* Reduce indentation
* Optimize nested netdev map

This change avoids conversion to strings and back.

Signed-off-by: Julian Kornberger <jk+github@digineo.de>
2020-08-24 17:43:27 +02:00
Aleksei Zakharov 0478ddef69
bcache: add writeback_rate_debug stats (#1658)
* bcache: add writeback_rate_debug export

Signed-off-by: Aleksei Zakharov <zaharov@selectel.ru>
2020-08-24 17:40:31 +02:00
Li Ling a26ffaf4f8 Failed conntrack update should return success=0 (#1323, #1723)
Signed-off-by: Li Ling <liiling@google.com>
2020-08-20 14:18:57 +02:00
Li Ling f0332993ef Empty collection should return success=0 (#1323, #1723)
Signed-off-by: Li Ling <liiling@google.com>
2020-08-20 14:09:55 +02:00
Aleksei Zakharov 3b035c8fa1
bcache: add priorityStats flag (#1621)
* bcache: add priorityStats flag

Fixes #1593

Signed-off-by: Aleksei Zakharov <zaharov@selectel.ru>
2020-08-10 16:50:58 +02:00
domchan 503e4fc848
Expose cpu bugs and flags as info metrics. (#1788)
* Expose cpu bugs and flags as info metrics with a regexp filter.
* Automatically enable CPU info metrics when using flags or bugs feature.

Signed-off-by: domgoer <domdoumc@gmail.com>
2020-07-17 18:32:23 +02:00
mhiles 10f6841caf counter compliance again
Signed-off-by: mhiles <hiles@hpe.com>
2020-07-13 12:00:43 -04:00
mhiles d80ae383b7 conform to metric naming conventions
Signed-off-by: mhiles <hiles@hpe.com>
2020-07-13 10:30:52 -04:00
mhiles 076c953488 update fixtures / e2e test for fibre channel
Signed-off-by: mhiles <hiles@hpe.com>
2020-07-13 09:30:19 -04:00
mhiles 62403d6748 add fibre channel collector
Signed-off-by: mhiles <hiles@hpe.com>
2020-07-13 08:41:04 -04:00
Karsten Weiss b9b1d4e369 udp_queues_linux.go: s/upd/udp/ in two error strings
Signed-off-by: Karsten Weiss <knweiss@gmail.com>
2020-06-29 15:00:15 +02:00
Ben Kochie 5d42d4d99f
Merge pull request #1732 from fach/master
Adding backlog/current queue length to qdisc collector
2020-06-22 20:15:04 +02:00
binjip978 488d10ef48 Merge branch 'master' into entropy
Signed-off-by: binjip978 <binjip978@gmail.com>
2020-06-19 08:50:51 +03:00
Ben Kochie 08ce3c6dd4
Merge pull request #1733 from prometheus/superq/OutRsts
Include TCP OutRsts in netstat metrics
2020-06-18 17:12:45 +02:00
binjip978 3e1cb10f55 change metric description to correct units
Signed-off-by: binjip978 <binjip978@gmail.com>
2020-06-16 18:29:22 +03:00
Ben Kochie dfa53f835a
Use Go 1.13 error features
* Use `errors.Is()` for unwrapping errors.
* Use `%w` error verb in internal error formatting.

Signed-off-by: Ben Kochie <superq@gmail.com>
2020-06-16 14:47:03 +02:00
binjip978 6d1a4ddb24 add pool size to entropy collector
Signed-off-by: binjip978 <binjip978@gmail.com>
2020-06-16 08:06:40 +03:00
Ben Kochie 64ba27e7d6 Fix up powersupplyclass error
Switch to go `%w` error verb and errors.Is().

Signed-off-by: Ben Kochie <superq@gmail.com>
2020-06-15 12:36:29 +02:00
Ben Kochie 35bfe455df
Merge pull request #1735 from prometheus/bjk/bump_procfs
Update prometheus/procfs
2020-06-15 07:44:34 +02:00
Ben Kochie c8c1618074
Merge pull request #1747 from prometheus/superq/fix_powersupplyclass
Handle no data from powersupplyclass
2020-06-14 15:45:12 +02:00
Ben Kochie baa7ab732f
Update prometheus/procfs
Fixes: https://github.com/prometheus/node_exporter/issues/1721

Signed-off-by: Ben Kochie <superq@gmail.com>
2020-06-14 14:18:13 +02:00
Ben Kochie 7790f96881
Merge pull request #1743 from prometheus/superq/flags
Improve filter flag names.
2020-06-14 10:39:43 +02:00
Ben Kochie 5fed4f01e9
Handle no data from powersupplyclass
Handle the case when /sys/class/power_supply doesn't exist. Fixes
logging error spam.

Requires https://github.com/prometheus/procfs/pull/308

Signed-off-by: Ben Kochie <superq@gmail.com>
2020-06-13 11:09:16 +02:00
Ben Kochie 7e49b68d3a
Improve filter flag names.
Update netdev and systemd collectors to deprecate poorly chosen flag names.

Old flag names to be removed in 2.0.0.

https://github.com/prometheus/node_exporter/issues/1742

Add log messages for parsed flag values to help discover quoting isuses in
supervisors.

https://github.com/prometheus/node_exporter/issues/1737

Signed-off-by: Ben Kochie <superq@gmail.com>
2020-06-12 12:46:31 +02:00
Jeffrey Stoke cb7ab5119a
Fix collectors' build tags
Signed-off-by: Jeffrey Stoke <me@arhat.dev>
2020-06-12 10:26:30 +02:00
fach 79ef305a19 Updating e2e test output
Signed-off-by: fach <shaw38@gmail.com>
2020-06-04 13:01:34 -04:00
fach 0ea8978788 Adding backlog/current queue length to qdisc collector
Signed-off-by: fach <shaw38@gmail.com>
2020-06-04 12:13:07 -04:00
Ben Kochie 204164e4e4
Include TCP OutRsts in netstat metrics
TCP "OutRsts" is the number of TCP Resets sent by the node. This can be
useful for monitoring connection failures and flooding.

Signed-off-by: Ben Kochie <superq@gmail.com>
2020-06-04 08:51:39 +02:00
David O'Rourke 217bbdd6b9 helper_test: Fix copyright year
Signed-off-by: David O'Rourke <david.orourke@gmail.com>
2020-06-03 11:33:10 +02:00
David O'Rourke 03450a4d7d filesystem_freebsd: Use bytesToString to get label values
Signed-off-by: David O'Rourke <david.orourke@gmail.com>
2020-06-03 11:33:10 +02:00
David O'Rourke d6fbce1529 helper: Add new bytesToString function and tests
Signed-off-by: David O'Rourke <david.orourke@gmail.com>
2020-06-03 11:33:10 +02:00
David O'Rourke 4c06e33c23 filesystem_freebsd: Fix label values
We must know the length of the various filesystem C strings before
turning them from a byte array into a Go string, otherwise our Go
strings could contain null bytes, corrupting the label values.

Signed-off-by: David O'Rourke <david.orourke@gmail.com>
2020-06-03 11:33:10 +02:00