Skip to content

Commit 82ccfe2

Browse files
author
Javid Habibi
committed
fixing cmake for rename of license file
bumping up version # for release Update README.md Adding build status badge
1 parent b507eab commit 82ccfe2

20 files changed

+20
-80
lines changed

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ cmake_minimum_required (VERSION 3.13)
22
project (procmon)
33

44
# Set the project version number.
5-
set (procmon_VERSION_MAJOR 0)
6-
set (procmon_VERSION_MINOR 1)
5+
set (procmon_VERSION_MAJOR 1)
6+
set (procmon_VERSION_MINOR 0)
77
set (procmon_VERSION_PATCH 0)
88

99
# make ncurses a requirement
@@ -108,7 +108,7 @@ set(CPACK_PACKAGE_VERSION_PATCH "${procmon_VERSION_PATCH}")
108108
set(AZDO_BUILD_ID "999999")
109109

110110
# setup license and readme for package
111-
SET(CPACK_RESOURCE_FILE_LICENSE ${PROJECT_SOURCE_DIR}/LICENSE.txt)
111+
SET(CPACK_RESOURCE_FILE_LICENSE ${PROJECT_SOURCE_DIR}/LICENSE)
112112
SET(CPACK_RESOURCE_FILE_README ${PROJECT_SOURCE_DIR}/README.md)
113113

114114
# setup CPACK RPM Variables

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Process Monitor for Linux (Preview)
1+
# Process Monitor for Linux (Preview) [![Build Status](https://oss-sysinternals.visualstudio.com/Procmon%20for%20Linux/_apis/build/status/microsoft.ProcMon-for-Linux?branchName=main)](https://oss-sysinternals.visualstudio.com/Procmon%20for%20Linux/_build/latest?definitionId=18&branchName=main)
22
Process Monitor (Procmon) is a Linux reimagining of the classic Procmon tool from the Sysinternals suite of tools for Windows. Procmon provides a convenient and efficient way for Linux developers to trace the syscall activity on the system.
33

44
![Procmon in use](procmon.gif "Procmon in use")
@@ -13,7 +13,7 @@ Process Monitor (Procmon) is a Linux reimagining of the classic Procmon tool fro
1313

1414

1515
## Install Procmon
16-
Checkout our [install instructions](INSTALL.md) for ditribution specific steps to install Procmon.
16+
Checkout our [install instructions](INSTALL.md) for distribution specific steps to install Procmon.
1717

1818
## Building Procmon from source
1919

@@ -105,4 +105,4 @@ Please see also our [Code of Conduct](CODE_OF_CONDUCT.md).
105105
# License
106106
Copyright (c) Microsoft Corporation. All rights reserved.
107107

108-
Licensed under the MIT License.
108+
Licensed under the MIT License.

procmon.1

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
.\" Manpage for procmon.
2-
.TH man 8 "04/22/2020" "0.9" "procmon manpage"
2+
.TH man 8 "07/16/2020" "0.1" "procmon manpage"
33
.SH NAME
44
procmon \- syscall tracing diagnostics tool
55
.SH SYNOPSIS
66
procmon [OPTIONS...]
7-
-h Prints this help screen
8-
-p/--pids Comma separated list of process ids to monitor
7+
-h Prints this help screen
8+
-p/--pids Comma separated list of process ids to monitor
9+
-e/--events Comma separated list of system calls to monitor
10+
-c/--collect [FILEPATH] Option to start Procmon in a headless mode
11+
-f/--file FILEPATH Open a Procmon trace file
912
.SH DESCRIPTION
1013
Procmon is a Linux reimagining of the classic Procmon tool from the Sysinternals suite of tools for Windows. Procmon provides a convenient and efficient way for Linux developers to trace the syscall activity on the system.

procmon.gif

-2.36 MB
Loading

src/common/cancellable_message_queue.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,11 @@ class CancellableMessageQueue
2121
std::mutex writeLock;
2222
std::mutex readLock;
2323
std::condition_variable readCondition;
24-
// TODO: should this be atomic?
2524
std::atomic<bool> cancelled = false;
2625

2726
std::queue<T> leftQueue;
2827
std::queue<T> rightQueue;
29-
// TODO: Should these be atomic pointers instead?
28+
3029
std::queue<T> *currentWriteQueue = &leftQueue;
3130
std::queue<T> *currentReadQueue = &rightQueue;
3231

src/common/cli_utils.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,12 @@ namespace CLIUtils
1111
// re-enable cursor before exiting Procmon
1212
system("setterm -cursor on");
1313

14-
// TODO: something better?
1514
exit(-1);
1615
}
1716

1817
// Prints usage string to terminal
1918
void DisplayUsage(bool shouldExit)
2019
{
21-
// TODO
2220
std::cout << "procmon [OPTIONS...]" << std::endl;
2321
std::cout << " OPTIONS" << std::endl;
2422
std::cout << " -h/--help Prints this help screen" << std::endl;

src/common/cli_utils.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ namespace CLIUtils
1919
{
2020
if (arg == NULL)
2121
{
22-
// TODO: real error logging
2322
std::cerr << "ERROR: The argument '" << argName << "' cannot be null." << std::endl << std::endl;
2423
DisplayUsage(true);
2524
}

src/common/stack_trace.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ struct StackTrace
1717

1818
StackTrace() {}
1919

20-
// TODO use better serialization
21-
// TODO throw exception on null/empty stack to serialize
2220
std::string Serialize()
2321
{
2422
std::string ret;
@@ -32,7 +30,6 @@ struct StackTrace
3230
return ret;
3331
}
3432

35-
// TODO throw exception on null/empty stack trace to deserialize
3633
void Inflate(std::string blob)
3734
{
3835
std::string token;

src/configuration/procmon_configuration.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ void ProcmonConfiguration::HandlePidArgs(char *pidArgs)
2222
}
2323
catch(const std::exception& e)
2424
{
25-
// TODO: Actual error handling
2625
std::cerr << "ProcmonConfiguration::Invalid pid specified - " << e.what() << '\n';
2726
CLIUtils::FastExit();
2827
}
@@ -38,7 +37,6 @@ void ProcmonConfiguration::HandleStorageArgs(char *storageArgs)
3837
}
3938
else
4039
{
41-
// TODO: actual error handling...
4240
std::cerr << "ProcmonConfiguration::\"" << storageArgs << "\" is not a valid storage engine" << std::endl;
4341
CLIUtils::FastExit();
4442
}
@@ -108,17 +106,14 @@ ProcmonConfiguration::ProcmonConfiguration(int argc, char *argv[])
108106
CLIUtils::DisplayUsage(true);
109107
break;
110108
case 'p':
111-
//CLIUtils::ProtectArgNotNull(optarg, "pids");
112109
HandlePidArgs(optarg);
113110
break;
114111

115112
case 's':
116-
//CLIUtils::ProtectArgNotNull(optarg, "storageEngine");
117113
HandleStorageArgs(optarg);
118114
break;
119115

120116
case 'e':
121-
//CLIUtils::ProtectArgNotNull(optarg, "events");
122117
HandleEventArgs(optarg);
123118
break;
124119

@@ -186,7 +181,7 @@ ProcmonConfiguration::ProcmonConfiguration(int argc, char *argv[])
186181
_tracerEngine->AddEvent(events);
187182
_tracerEngine->AddPids(pids);
188183

189-
// TODO dynamically handle this based on architecture rather then current limit of x86_64
184+
// List of all syscalls that contain pointer params
190185
pointerSyscalls = ::SyscallSchema::Utils::Linux64PointerSycalls;
191186
}
192187

src/configuration/procmon_configuration.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ struct ProcmonArgs
3131
std::vector<pid_t> pids;
3232
std::vector<Event> events;
3333
StorageProxy::StorageEngineType storageEngineType;
34-
// Other args
3534
};
3635

3736
// Should only be created once. Pass around using
@@ -61,11 +60,7 @@ class ProcmonConfiguration : public ProcmonArgs
6160
std::string ConvertEpocTime(time_t time);
6261

6362
public:
64-
// TODO: What does every configuration need to have
65-
// TODO: How do we map CLI args to fields here
66-
67-
// Initializes the configuration handling args
68-
// and creating necessary resources.
63+
// Initializes the configuration handling args and creating necessary resources.
6964
ProcmonConfiguration(int argc, char *argv[]);
7065

7166
// Getters & Setters

0 commit comments

Comments
 (0)