Skip to content

Commit

Permalink
Merge 1b044dc into b2da654
Browse files Browse the repository at this point in the history
  • Loading branch information
sj-i committed Aug 2, 2021
2 parents b2da654 + 1b044dc commit d7021f5
Show file tree
Hide file tree
Showing 86 changed files with 309 additions and 859 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/phpcs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Setup PHP Action
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
php-version: 8.0
extensions: dom, mbstring
coverage: none
tools: cs2pr
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/phpunit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Setup PHP Action
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
php-version: 8.0
extensions: ffi, dom, mbstring
coverage: pcov

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Setup PHP Action
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
php-version: 8.0
extensions: dom, mbstring
coverage: none

Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ php-profiler also provides functionality to only get the address of EG from targ
## Requirements
### Supported PHP versions
#### Execution
- PHP-7.4 64bit Linux x86_64 (NTS / ZTS)
- PHP-8.0 64bit Linux x86_64 (NTS / ZTS)
- FFI extension must be enabled.
- If the target process is ZTS, PCNTL extension must be enabled.
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"php": "^7.4|^8.0",
"php": "^8.0",
"ext-ffi": "*",
"ext-filter": "*",
"ext-json": "*",
Expand Down
4 changes: 2 additions & 2 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion config/di.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
return [
MemoryReaderInterface::class => autowire(MemoryReader::class),
ZendTypeReader::class => function () {
return new ZendTypeReader(ZendTypeReader::V74);
return new ZendTypeReader(ZendTypeReader::V80);
},
SymbolResolverCreatorInterface::class => autowire(Elf64SymbolResolverCreator::class),
FileReaderInterface::class => autowire(CatFileReader::class),
Expand Down
9 changes: 3 additions & 6 deletions src/Command/CommandEnumerator.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,12 @@
*/
final class CommandEnumerator implements IteratorAggregate
{
private FilesystemIterator $command_files_iterator;

/**
* CommandEnumerator constructor.
* @param FilesystemIterator $command_files_iterator
*/
public function __construct(FilesystemIterator $command_files_iterator)
{
$this->command_files_iterator = $command_files_iterator;
public function __construct(
private FilesystemIterator $command_files_iterator
) {
}

/**
Expand Down
33 changes: 8 additions & 25 deletions src/Command/Inspector/DaemonCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,33 +36,16 @@

final class DaemonCommand extends Command
{
private PhpSearcherContextCreator $php_searcher_context_creator;
private PhpReaderContextCreator $php_reader_context_creator;
private DaemonSettingsFromConsoleInput $daemon_settings_from_console_input;
private GetTraceSettingsFromConsoleInput $get_trace_settings_from_console_input;
private TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input;
private TraceLoopSettingsFromConsoleInput $trace_loop_settings_from_console_input;
private TemplateSettingsFromConsoleInput $template_settings_from_console_input;
private TemplatedTraceFormatterFactory $templated_trace_formatter_factory;

public function __construct(
PhpSearcherContextCreator $php_searcher_context_creator,
PhpReaderContextCreator $php_reader_context_creator,
DaemonSettingsFromConsoleInput $daemon_settings_from_console_input,
GetTraceSettingsFromConsoleInput $get_trace_settings_from_console_input,
TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input,
TraceLoopSettingsFromConsoleInput $trace_loop_settings_from_console_input,
TemplateSettingsFromConsoleInput $template_settings_from_console_input,
TemplatedTraceFormatterFactory $template_factory,
private PhpSearcherContextCreator $php_searcher_context_creator,
private PhpReaderContextCreator $php_reader_context_creator,
private DaemonSettingsFromConsoleInput $daemon_settings_from_console_input,
private GetTraceSettingsFromConsoleInput $get_trace_settings_from_console_input,
private TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input,
private TraceLoopSettingsFromConsoleInput $trace_loop_settings_from_console_input,
private TemplateSettingsFromConsoleInput $template_settings_from_console_input,
private TemplatedTraceFormatterFactory $templated_trace_formatter_factory,
) {
$this->php_reader_context_creator = $php_reader_context_creator;
$this->php_searcher_context_creator = $php_searcher_context_creator;
$this->daemon_settings_from_console_input = $daemon_settings_from_console_input;
$this->get_trace_settings_from_console_input = $get_trace_settings_from_console_input;
$this->target_php_settings_from_console_input = $target_php_settings_from_console_input;
$this->trace_loop_settings_from_console_input = $trace_loop_settings_from_console_input;
$this->template_settings_from_console_input = $template_settings_from_console_input;
$this->templated_trace_formatter_factory = $template_factory;
parent::__construct();
}

Expand Down
25 changes: 6 additions & 19 deletions src/Command/Inspector/GetCurrentFunctionNameCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,27 +30,14 @@

final class GetCurrentFunctionNameCommand extends Command
{
private PhpGlobalsFinder $php_globals_finder;
private ExecutorGlobalsReader $executor_globals_reader;
private TraceLoopProvider $loop_provider;
private TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input;
private TargetProcessSettingsFromConsoleInput $target_process_settings_from_console_input;
private TraceLoopSettingsFromConsoleInput $trace_loop_settings_from_console_input;

public function __construct(
PhpGlobalsFinder $php_globals_finder,
ExecutorGlobalsReader $executor_globals_reader,
TraceLoopProvider $loop_provider,
TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input,
TargetProcessSettingsFromConsoleInput $target_process_settings_from_console_input,
TraceLoopSettingsFromConsoleInput $trace_loop_settings_from_console_input
private PhpGlobalsFinder $php_globals_finder,
private ExecutorGlobalsReader $executor_globals_reader,
private TraceLoopProvider $loop_provider,
private TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input,
private TargetProcessSettingsFromConsoleInput $target_process_settings_from_console_input,
private TraceLoopSettingsFromConsoleInput $trace_loop_settings_from_console_input
) {
$this->php_globals_finder = $php_globals_finder;
$this->executor_globals_reader = $executor_globals_reader;
$this->loop_provider = $loop_provider;
$this->target_php_settings_from_console_input = $target_php_settings_from_console_input;
$this->target_process_settings_from_console_input = $target_process_settings_from_console_input;
$this->trace_loop_settings_from_console_input = $trace_loop_settings_from_console_input;
parent::__construct();
}

Expand Down
13 changes: 3 additions & 10 deletions src/Command/Inspector/GetEgAddressCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,11 @@
*/
final class GetEgAddressCommand extends Command
{
private PhpGlobalsFinder $php_globals_finder;
private TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input;
private TargetProcessSettingsFromConsoleInput $target_process_settings_from_console_input;

public function __construct(
PhpGlobalsFinder $php_globals_finder,
TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input,
TargetProcessSettingsFromConsoleInput $target_process_settings_from_console_input
private PhpGlobalsFinder $php_globals_finder,
private TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input,
private TargetProcessSettingsFromConsoleInput $target_process_settings_from_console_input
) {
$this->php_globals_finder = $php_globals_finder;
$this->target_php_settings_from_console_input = $target_php_settings_from_console_input;
$this->target_process_settings_from_console_input = $target_process_settings_from_console_input;
parent::__construct();
}

Expand Down
37 changes: 9 additions & 28 deletions src/Command/Inspector/GetTraceCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,36 +33,17 @@

final class GetTraceCommand extends Command
{
private PhpGlobalsFinder $php_globals_finder;
private ExecutorGlobalsReader $executor_globals_reader;
private TraceLoopProvider $loop_provider;
private GetTraceSettingsFromConsoleInput $get_trace_settings_from_console_input;
private TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input;
private TargetProcessSettingsFromConsoleInput $target_process_settings_from_console_input;
private TraceLoopSettingsFromConsoleInput $trace_loop_settings_from_console_input;
private TemplateSettingsFromConsoleInput $template_settings_from_console_input;
private TemplatedTraceFormatterFactory $templated_trace_formatter_factory;

public function __construct(
PhpGlobalsFinder $php_globals_finder,
ExecutorGlobalsReader $executor_globals_reader,
TraceLoopProvider $loop_provider,
GetTraceSettingsFromConsoleInput $get_trace_settings_from_console_input,
TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input,
TargetProcessSettingsFromConsoleInput $target_process_settings_from_console_input,
TraceLoopSettingsFromConsoleInput $trace_loop_settings_from_console_input,
TemplateSettingsFromConsoleInput $template_settings_from_console_input,
TemplatedTraceFormatterFactory $templated_trace_formatter_factory
private PhpGlobalsFinder $php_globals_finder,
private ExecutorGlobalsReader $executor_globals_reader,
private TraceLoopProvider $loop_provider,
private GetTraceSettingsFromConsoleInput $get_trace_settings_from_console_input,
private TargetPhpSettingsFromConsoleInput $target_php_settings_from_console_input,
private TargetProcessSettingsFromConsoleInput $target_process_settings_from_console_input,
private TraceLoopSettingsFromConsoleInput $trace_loop_settings_from_console_input,
private TemplateSettingsFromConsoleInput $template_settings_from_console_input,
private TemplatedTraceFormatterFactory $templated_trace_formatter_factory,
) {
$this->php_globals_finder = $php_globals_finder;
$this->executor_globals_reader = $executor_globals_reader;
$this->loop_provider = $loop_provider;
$this->get_trace_settings_from_console_input = $get_trace_settings_from_console_input;
$this->target_php_settings_from_console_input = $target_php_settings_from_console_input;
$this->target_process_settings_from_console_input = $target_process_settings_from_console_input;
$this->trace_loop_settings_from_console_input = $trace_loop_settings_from_console_input;
$this->template_settings_from_console_input = $template_settings_from_console_input;
$this->templated_trace_formatter_factory = $templated_trace_formatter_factory;
parent::__construct();
}

Expand Down
16 changes: 4 additions & 12 deletions src/Inspector/Daemon/Dispatcher/DispatchTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,24 +20,16 @@

final class DispatchTable
{
public WorkerPoolInterface $worker_pool;
private TargetProcessListInterface $assigned;
private TargetPhpSettings $target_php_settings;
private TraceLoopSettings $trace_loop_settings;
private GetTraceSettings $get_trace_settings;
/** @var array<int, PhpReaderControllerInterface> */
private array $dispatch_table = [];

public function __construct(
WorkerPoolInterface $worker_pool,
TargetPhpSettings $target_php_settings,
TraceLoopSettings $trace_loop_settings,
GetTraceSettings $get_trace_settings
public WorkerPoolInterface $worker_pool,
private TargetPhpSettings $target_php_settings,
private TraceLoopSettings $trace_loop_settings,
private GetTraceSettings $get_trace_settings
) {
$this->worker_pool = $worker_pool;
$this->target_php_settings = $target_php_settings;
$this->trace_loop_settings = $trace_loop_settings;
$this->get_trace_settings = $get_trace_settings;
$this->assigned = new TargetProcessList();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,9 @@

final class PhpReaderContextCreator implements PhpReaderContextCreatorInterface
{
private ContextCreatorInterface $context_creator;

public function __construct(
ContextCreatorInterface $context_creator
private ContextCreatorInterface $context_creator
) {
$this->context_creator = $context_creator;
}

public function create(): PhpReaderControllerInterface
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,13 @@

final class PhpReaderController implements PhpReaderControllerInterface
{
/** @var ContextInterface<PhpReaderControllerProtocolInterface> */
private ContextInterface $context;

/**
* PhpReaderContext constructor.
* @param ContextInterface<PhpReaderControllerProtocolInterface> $context
*/
public function __construct(ContextInterface $context)
{
$this->context = $context;
public function __construct(
private ContextInterface $context
) {
}

public function start(): Promise
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,9 @@

final class PhpReaderControllerProtocol implements PhpReaderControllerProtocolInterface
{
private Channel $channel;

public function __construct(Channel $channel)
{
$this->channel = $channel;
public function __construct(
private Channel $channel
) {
}

/** @return static */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@

final class AttachMessage
{
public int $pid;

public function __construct(int $pid)
{
$this->pid = $pid;
public function __construct(
public int $pid
) {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@

final class DetachWorkerMessage
{
public int $pid;

public function __construct(int $pid)
{
$this->pid = $pid;
public function __construct(
public int $pid
) {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,10 @@

final class SetSettingsMessage
{
public TargetPhpSettings $target_php_settings;
public TraceLoopSettings $trace_loop_settings;
public GetTraceSettings $get_trace_settings;

public function __construct(
TargetPhpSettings $target_php_settings,
TraceLoopSettings $trace_loop_settings,
GetTraceSettings $get_trace_settings
public TargetPhpSettings $target_php_settings,
public TraceLoopSettings $trace_loop_settings,
public GetTraceSettings $get_trace_settings
) {
$this->target_php_settings = $target_php_settings;
$this->trace_loop_settings = $trace_loop_settings;
$this->get_trace_settings = $get_trace_settings;
}
}
8 changes: 3 additions & 5 deletions src/Inspector/Daemon/Reader/Protocol/Message/TraceMessage.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,8 @@

final class TraceMessage
{
public CallTrace $trace;

public function __construct(CallTrace $trace)
{
$this->trace = $trace;
public function __construct(
public CallTrace $trace,
) {
}
}
9 changes: 2 additions & 7 deletions src/Inspector/Daemon/Reader/Worker/PhpReaderEntryPoint.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,10 @@

final class PhpReaderEntryPoint implements WorkerEntryPointInterface
{
private PhpReaderTraceLoopInterface $trace_loop;
private PhpReaderWorkerProtocolInterface $protocol;

public function __construct(
PhpReaderTraceLoopInterface $trace_loop,
PhpReaderWorkerProtocolInterface $protocol
private PhpReaderTraceLoopInterface $trace_loop,
private PhpReaderWorkerProtocolInterface $protocol
) {
$this->trace_loop = $trace_loop;
$this->protocol = $protocol;
}

public function run(): \Generator
Expand Down
Loading

0 comments on commit d7021f5

Please sign in to comment.