History log of /openbmc/phosphor-debug-collector/watch.cpp (Results 1 – 14 of 14)
Revision Date Author Comments
# fa6a47bf 25-Mar-2024 Jian Zhang <zhangjian.3032@bytedance.com>

watch: fix memory leak in Watch class

See systemd manunal[0],
```
If the second parameter of sd_event_add_io() is NULL no reference to
the event source object is returned. In this case the event sou

watch: fix memory leak in Watch class

See systemd manunal[0],
```
If the second parameter of sd_event_add_io() is NULL no reference to
the event source object is returned. In this case the event source is
considered "floating", and will be destroyed implicitly when the event
loop itself is destroyed.
```

The Watch class should release the event source object when destructing
the Watch object.

Tested:
1. Run CreateDump Stress Test
```
while true; do busctl call xyz.openbmc_project.Dump.Manager /xyz/openbmc_project/dump/bmc xyz.openbmc_project.Dump.Create CreateDump a{sv} 0; sleep 200; done

```
2. run the command to monitor the memory heap size of dump-manager,
and no memory leak found.
~# watch -n 10 "cat /proc/[PID]/smaps | grep heap -A 4 | grep ^Rss"

[0]: https://www.freedesktop.org/software/systemd/man/latest/sd_event_add_io.html

Change-Id: I530bda40a7a7307ee87f03a24c242dde4eae2b14
Signed-off-by: Jian Zhang <zhangjian.3032@bytedance.com>

show more ...


# b913e078 26-Nov-2024 Jayanth Othayoth <ojayanth@gmail.com>

clang-tidy: Enable readability-implicit-bool

Modified code to address issues flagged by
readability-implicit-bool-conversion check.

Tested: Build and unit tests passed successfully.

Change-Id: Ic7

clang-tidy: Enable readability-implicit-bool

Modified code to address issues flagged by
readability-implicit-bool-conversion check.

Tested: Build and unit tests passed successfully.

Change-Id: Ic7a15466ea628629eb4a98233b12523fbbbe794d
Signed-off-by: Jayanth Othayoth <ojayanth@gmail.com>

show more ...


# ceb3e762 25-Nov-2024 Jayanth Othayoth <ojayanth@gmail.com>

clang-tidy: Enable cppcoreguidelines-pro-bounds

Modified code to address issues flagged by
cppcoreguidelines-pro-bounds-array-to-pointer-decay check.

Tested: Build and unit tests passed successfull

clang-tidy: Enable cppcoreguidelines-pro-bounds

Modified code to address issues flagged by
cppcoreguidelines-pro-bounds-array-to-pointer-decay check.

Tested: Build and unit tests passed successfully.

Change-Id: I68f418d0dad440df685c103709589f6e78d141fb
Signed-off-by: Jayanth Othayoth <ojayanth@gmail.com>

show more ...


# 973b291e 16-Aug-2024 Patrick Williams <patrick@stwcx.xyz>

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda forma

clang-format: re-format for clang-18

clang-format-18 isn't compatible with the clang-format-17 output, so we
need to reformat the code with the latest version. The way clang-18
handles lambda formatting also changed, so we have made changes to the
organization default style format to better handle lambda formatting.

See I5e08687e696dd240402a2780158664b7113def0e for updated style.
See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.

Change-Id: I748aeef75e2078199193cd98013dd2fe7f6b5db8
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# d1f670fe 05-Jun-2023 Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

Implementing Phosphor-Logging/LG2 logging

This commit introduces changes in the phosphor-debug-collector
repository to implement structured logging using the LG2
framework. The existing log calls in

Implementing Phosphor-Logging/LG2 logging

This commit introduces changes in the phosphor-debug-collector
repository to implement structured logging using the LG2
framework. The existing log calls in the repository,
have been replaced with LG2 logging, facilitates better
log tracking and troubleshooting by offering improved
detail in JSON object values.

Test:
- Created BMC dump
- Created system dump

Here is a example
{
"_EXE" : "/tmp/phosphor-dump-manager",
"_MACHINE_ID" : "f9ca96d99c7b4ba688556f632ffeff5d",
"_CAP_EFFECTIVE" : "1ffffffffff",
"LOG2_FMTMSG" : "Invalid Dump file name, FILENAME: {FILENAME}",
"__CURSOR" : "s=721ae7a5b6ed43ec904f2bb03e3c0403;i=2a8d0;\
b=b372b9a5989e46bb8e62b33310e181ea;m=2c05fda2b;t=5fdf0684c1e70;x=1592f60584d6486c",
"CODE_FUNC" : "void phosphor::dump::bmc::Manager::\
createEntry(const std::filesystem::__cxx11::path&)",
"_SYSTEMD_SLICE" : "system-dropbear.slice",
"CODE_LINE" : "174",
"__REALTIME_TIMESTAMP" : "1686583867350640",
"PRIORITY" : "3",
"_SYSTEMD_UNIT" : "dropbear@1-9.3.29.238:22-9.3.84.138:45432.service",
"_PID" : "16209",
"_BOOT_ID" : "b372b9a5989e46bb8e62b33310e181ea",
"_SOURCE_REALTIME_TIMESTAMP" : "1686583867350580",
"_TRANSPORT" : "journal",
"_HOSTNAME" : "openbmc",
"SYSLOG_IDENTIFIER" : "phosphor-dump-manager",
"MESSAGE" : "Invalid Dump file name, \
FILENAME: BMCDUMP.XXXXXXX.0000006.20230612153010",
"CODE_FILE" : \
"/usr/src/debug/phosphor-debug-collector/1.0+gitAUTOINC+a17f1c92ce-r1\
/dump_manager_bmc.cpp",
"_UID" : "0",
"_CMDLINE" : "/tmp/phosphor-dump-manager",
"_RUNTIME_SCOPE" : "system",
"FILENAME" : "BMCDUMP.XXXXXXXX.0000006.20230612153010",
"_SYSTEMD_INVOCATION_ID" : "64a11629aade4c96ab62154cbc4be8b7",
"__MONOTONIC_TIMESTAMP" : "11817441835",
"_SYSTEMD_CGROUP" : "/system.slice/system-dropbear.slice/\
dropbear@1-9.3.29.238:22-9.3.84.138:45432.service",
"_COMM" : "phosphor-dump-m",
"_GID" : "0"
}

Change-Id: I3a52b812b059b64d945493de2e2cc68a43f6d72a
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>

show more ...


# 78e88402 10-May-2023 Patrick Williams <patrick@stwcx.xyz>

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest

clang-format: copy latest and re-format

clang-format-16 has some backwards incompatible changes that require
additional settings for best compatibility and re-running the formatter.
Copy the latest .clang-format from the docs repository and reformat the
repository.

Change-Id: If4790d4928efc3e6690ca090aa79f0c7737c3683
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>

show more ...


# 858fbb2e 30-Jun-2021 George Liu <liuxiwei@inspur.com>

Add fmtlib for phosphor-debug-collector

Call fmtlib to get additional information from journal.

Tested: built phosphor-debug-collector successfully
and Unit Test passes.

Signed-off-by: Geo

Add fmtlib for phosphor-debug-collector

Call fmtlib to get additional information from journal.

Tested: built phosphor-debug-collector successfully
and Unit Test passes.

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: Ibe65637a0b29b76269fb4bc3f498438901c9306a

show more ...


# 3fc6df48 08-Apr-2021 Jayanth Othayoth <ojayanth@in.ibm.com>

c++17: drop experimental::filesystem

Use the real filesystem library, and drop support for building with
experimental under c++14.

Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Change-Id: I

c++17: drop experimental::filesystem

Use the real filesystem library, and drop support for building with
experimental under c++14.

Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Change-Id: I730c0d6dce53b5e0aa0867cddb7f325cdb9b45fc

show more ...


# bb410df7 03-Aug-2020 Ramesh Iyyar <rameshi1@in.ibm.com>

build: Enabled meson build infrastructure

In this commit enabled meson build infrastructure which is taking less
time than autotools to build.

Changes:
- Same default value used for all build tim

build: Enabled meson build infrastructure

In this commit enabled meson build infrastructure which is taking less
time than autotools to build.

Changes:
- Same default value used for all build time configure option.
- All external library checks are added into meson as well.
- In meson, no need to mention list of files which are not required
to install because, by default nothing will be installed.
- Auto generated files are added into custom target and that will
trigger when some target dependent with that.
- In meson, enabled to treat warning as error so, modified few sources
which are producing un-used variables.
- Fixes made by removing those function parameters identifier alone.

By using meson, can able to see below built improvement time between meson
and autotools.

meson:
- time sh -c 'meson builddir -Dhost-dump-offload-transport=pldm
-Dubifs-workaround=enabled; ninja -C builddir/'
real 0m12.244s
user 0m57.575s
sys 0m7.793s

autotools:
- time sh -c 'autoreconf -i;
./configure ${CONFIGURE_FLAGS} --enable-ubifs-workaround
--with-host-dump-offload-transport=pldm; make'
real 1m16.539s
user 1m2.738s
sys 0m9.645s

TestedBy:
- meson builddir
ninja -C builddir

- meson builddir -Dubifs-workaround=enabled
ninja -C builddir

- meson builddir -Dubifs-workaround=disabled
ninja -C builddir

- meson builddir -Dhost-dump-offload-transport=pldm
ninja -C builddir

- meson builddir -Dhost-dump-offload-transport=pldm \
-Dubifs-workaround=enabled
ninja -C builddir

Note: Need to update openbmc phosphor-debug-collector recipe to use meson
instead autotools, this will be updated once this patch got merged
and also autotools build infrastructure will be removed as well.

Change-Id: Iadf2d3542dc2556377e7b2f91f01b04d5f8d7218
Signed-off-by: Ramesh Iyyar <rameshi1@in.ibm.com>

show more ...


# cb65ffce 16-Oct-2018 Jayanth Othayoth <ojayanth@in.ibm.com>

Enable clang code format

Change-Id: Ib640ef7cea99ff505965182ec9900a2d53a8986e
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>


# b223b667 08-Apr-2018 Gunnar Mills <gmills@us.ibm.com>

Spelling fixes

Spelling errors found using github.com/lucasdemarchi/codespell
A tool to fix common misspellings.
This tool is licensed under GNU General Public License, version 2.

Change-Id: I192b4

Spelling fixes

Spelling errors found using github.com/lucasdemarchi/codespell
A tool to fix common misspellings.
This tool is licensed under GNU General Public License, version 2.

Change-Id: I192b40fcab98b64e39b3100d41ea025ca280d842
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

show more ...


# 11eaab7b 19-Oct-2017 Gunnar Mills <gmills@us.ibm.com>

Update Journal Variable Names

Journal entry variable names should be uppercase.
https://www.freedesktop.org/software/systemd/man/sd_journal_print.html

Change-Id: I074955883c67173c9720f094d494addb85

Update Journal Variable Names

Journal entry variable names should be uppercase.
https://www.freedesktop.org/software/systemd/man/sd_journal_print.html

Change-Id: I074955883c67173c9720f094d494addb85c85e7a
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

show more ...


# 764d1b22 12-Jul-2017 Jayanth Othayoth <ojayanth@in.ibm.com>

Enable user initiated dump child directory level file watch

Change-Id: I38b1f0a06e96a465526ea1ac497e49dc5f778dd8
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>


# 671fc7f3 14-Jun-2017 Jayanth Othayoth <ojayanth@in.ibm.com>

Add support for generic inotify based directory watch.

Watch a directory for the changes based on user configuration
and then report changes to the user.

Change-Id: I9f53d3135dd4bff6187840c0c53d2a6

Add support for generic inotify based directory watch.

Watch a directory for the changes based on user configuration
and then report changes to the user.

Change-Id: I9f53d3135dd4bff6187840c0c53d2a64509808cd
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>

show more ...