mirror of
https://github.com/friendica/friendica
synced 2024-12-22 23:20:16 +00:00
Merge pull request #14345 from annando/stats
Statistics: Inbound/Outbound for more protocols
This commit is contained in:
commit
66e9807876
4 changed files with 27 additions and 2 deletions
|
@ -22,6 +22,8 @@
|
||||||
namespace Friendica\Module;
|
namespace Friendica\Module;
|
||||||
|
|
||||||
use Friendica\BaseModule;
|
use Friendica\BaseModule;
|
||||||
|
use Friendica\Core\Protocol;
|
||||||
|
use Friendica\Model\Item;
|
||||||
use Friendica\Model\User;
|
use Friendica\Model\User;
|
||||||
use Friendica\Network\HTTPException;
|
use Friendica\Network\HTTPException;
|
||||||
use Friendica\Protocol\Feed as ProtocolFeed;
|
use Friendica\Protocol\Feed as ProtocolFeed;
|
||||||
|
@ -68,6 +70,8 @@ class Feed extends BaseModule
|
||||||
throw new HTTPException\UnauthorizedException($this->t('Access to this profile has been restricted.'));
|
throw new HTTPException\UnauthorizedException($this->t('Access to this profile has been restricted.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementOutbound(Protocol::FEED);
|
||||||
|
|
||||||
$feed = ProtocolFeed::atom($owner, $last_update, 10, $type);
|
$feed = ProtocolFeed::atom($owner, $last_update, 10, $type);
|
||||||
|
|
||||||
$this->httpExit($feed, Response::TYPE_ATOM);
|
$this->httpExit($feed, Response::TYPE_ATOM);
|
||||||
|
|
|
@ -23,6 +23,7 @@ namespace Friendica\Module;
|
||||||
|
|
||||||
use Friendica\App;
|
use Friendica\App;
|
||||||
use Friendica\BaseModule;
|
use Friendica\BaseModule;
|
||||||
|
use Friendica\Core\Addon;
|
||||||
use Friendica\Core\Config\Capability\IManageConfigValues;
|
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||||
use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs;
|
use Friendica\Core\KeyValueStorage\Capability\IManageKeyValuePairs;
|
||||||
use Friendica\Core\L10n;
|
use Friendica\Core\L10n;
|
||||||
|
@ -82,7 +83,7 @@ class Stats extends BaseModule
|
||||||
$statistics = [
|
$statistics = [
|
||||||
'cron' => [
|
'cron' => [
|
||||||
'lastExecution' => [
|
'lastExecution' => [
|
||||||
'datetime' => DateTimeFormat::utc($this->keyValue->get('last_cron'), DateTimeFormat::JSON),
|
'datetime' => date(DateTimeFormat::JSON, (int)$this->keyValue->get('last_cron')),
|
||||||
'timestamp' => (int)$this->keyValue->get('last_cron'),
|
'timestamp' => (int)$this->keyValue->get('last_cron'),
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
@ -123,12 +124,16 @@ class Stats extends BaseModule
|
||||||
Protocol::DFRN => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::DFRN) ?? 0),
|
Protocol::DFRN => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::DFRN) ?? 0),
|
||||||
Protocol::DIASPORA => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::DIASPORA) ?? 0),
|
Protocol::DIASPORA => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::DIASPORA) ?? 0),
|
||||||
Protocol::OSTATUS => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::OSTATUS) ?? 0),
|
Protocol::OSTATUS => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::OSTATUS) ?? 0),
|
||||||
|
Protocol::FEED => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::FEED) ?? 0),
|
||||||
|
Protocol::MAIL => intval($this->keyValue->get('stats_packets_inbound_' . Protocol::MAIL) ?? 0),
|
||||||
],
|
],
|
||||||
'outbound' => [
|
'outbound' => [
|
||||||
Protocol::ACTIVITYPUB => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::ACTIVITYPUB) ?? 0),
|
Protocol::ACTIVITYPUB => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::ACTIVITYPUB) ?? 0),
|
||||||
Protocol::DFRN => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::DFRN) ?? 0),
|
Protocol::DFRN => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::DFRN) ?? 0),
|
||||||
Protocol::DIASPORA => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::DIASPORA) ?? 0),
|
Protocol::DIASPORA => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::DIASPORA) ?? 0),
|
||||||
Protocol::OSTATUS => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::OSTATUS) ?? 0),
|
Protocol::OSTATUS => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::OSTATUS) ?? 0),
|
||||||
|
Protocol::FEED => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::FEED) ?? 0),
|
||||||
|
Protocol::MAIL => intval($this->keyValue->get('stats_packets_outbound_' . Protocol::MAIL) ?? 0),
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'reports' => [
|
'reports' => [
|
||||||
|
@ -141,6 +146,15 @@ class Stats extends BaseModule
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
|
if (Addon::isEnabled('bluesky')) {
|
||||||
|
$statistics['packets']['inbound'][Protocol::BLUESKY] = intval($this->keyValue->get('stats_packets_inbound_' . Protocol::BLUESKY) ?? 0);
|
||||||
|
$statistics['packets']['outbound'][Protocol::BLUESKY] = intval($this->keyValue->get('stats_packets_outbound_' . Protocol::BLUESKY) ?? 0);
|
||||||
|
}
|
||||||
|
if (Addon::isEnabled('tumblr')) {
|
||||||
|
$statistics['packets']['inbound'][Protocol::TUMBLR] = intval($this->keyValue->get('stats_packets_inbound_' . Protocol::TUMBLR) ?? 0);
|
||||||
|
$statistics['packets']['outbound'][Protocol::TUMBLR] = intval($this->keyValue->get('stats_packets_outbound_' . Protocol::TUMBLR) ?? 0);
|
||||||
|
}
|
||||||
|
|
||||||
$statistics = $this->getJobsPerPriority($statistics);
|
$statistics = $this->getJobsPerPriority($statistics);
|
||||||
|
|
||||||
$this->jsonExit($statistics);
|
$this->jsonExit($statistics);
|
||||||
|
|
|
@ -25,6 +25,7 @@ use Friendica\Core\Hook;
|
||||||
use Friendica\Core\Logger;
|
use Friendica\Core\Logger;
|
||||||
use Friendica\Content\Text\BBCode;
|
use Friendica\Content\Text\BBCode;
|
||||||
use Friendica\Content\Text\HTML;
|
use Friendica\Content\Text\HTML;
|
||||||
|
use Friendica\Core\Protocol;
|
||||||
use Friendica\Model\Item;
|
use Friendica\Model\Item;
|
||||||
use Friendica\Util\Strings;
|
use Friendica\Util\Strings;
|
||||||
use \IMAP\Connection;
|
use \IMAP\Connection;
|
||||||
|
@ -47,6 +48,7 @@ class Email
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementInbound(Protocol::MAIL);
|
||||||
$mbox = @imap_open($mailbox, $username, $password);
|
$mbox = @imap_open($mailbox, $username, $password);
|
||||||
|
|
||||||
$errors = imap_errors();
|
$errors = imap_errors();
|
||||||
|
@ -74,6 +76,7 @@ class Email
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementInbound(Protocol::MAIL);
|
||||||
$search1 = @imap_search($mbox, 'UNDELETED FROM "' . $email_addr . '"', SE_UID);
|
$search1 = @imap_search($mbox, 'UNDELETED FROM "' . $email_addr . '"', SE_UID);
|
||||||
if (!$search1) {
|
if (!$search1) {
|
||||||
$search1 = [];
|
$search1 = [];
|
||||||
|
@ -81,6 +84,7 @@ class Email
|
||||||
Logger::debug("Found mails from ".$email_addr);
|
Logger::debug("Found mails from ".$email_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementInbound(Protocol::MAIL);
|
||||||
$search2 = @imap_search($mbox, 'UNDELETED TO "' . $email_addr . '"', SE_UID);
|
$search2 = @imap_search($mbox, 'UNDELETED TO "' . $email_addr . '"', SE_UID);
|
||||||
if (!$search2) {
|
if (!$search2) {
|
||||||
$search2 = [];
|
$search2 = [];
|
||||||
|
@ -88,6 +92,7 @@ class Email
|
||||||
Logger::debug("Found mails to ".$email_addr);
|
Logger::debug("Found mails to ".$email_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Item::incrementInbound(Protocol::MAIL);
|
||||||
$search3 = @imap_search($mbox, 'UNDELETED CC "' . $email_addr . '"', SE_UID);
|
$search3 = @imap_search($mbox, 'UNDELETED CC "' . $email_addr . '"', SE_UID);
|
||||||
if (!$search3) {
|
if (!$search3) {
|
||||||
$search3 = [];
|
$search3 = [];
|
||||||
|
@ -136,7 +141,7 @@ class Email
|
||||||
public static function getMessage($mbox, int $uid, string $reply, array $item): array
|
public static function getMessage($mbox, int $uid, string $reply, array $item): array
|
||||||
{
|
{
|
||||||
$ret = $item;
|
$ret = $item;
|
||||||
|
Item::incrementInbound(Protocol::MAIL);
|
||||||
$struc = (($mbox && $uid) ? @imap_fetchstructure($mbox, $uid, FT_UID) : null);
|
$struc = (($mbox && $uid) ? @imap_fetchstructure($mbox, $uid, FT_UID) : null);
|
||||||
|
|
||||||
if (!$struc) {
|
if (!$struc) {
|
||||||
|
@ -403,6 +408,7 @@ class Email
|
||||||
//$message = '<html><body>' . $html . '</body></html>';
|
//$message = '<html><body>' . $html . '</body></html>';
|
||||||
//$message = html2plain($html);
|
//$message = html2plain($html);
|
||||||
Logger::notice('notifier: email delivery to ' . $addr);
|
Logger::notice('notifier: email delivery to ' . $addr);
|
||||||
|
Item::incrementOutbound(Protocol::MAIL);
|
||||||
return mail($addr, $subject, $body, $headers);
|
return mail($addr, $subject, $body, $headers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -165,6 +165,7 @@ class OnePoll
|
||||||
}
|
}
|
||||||
|
|
||||||
$cookiejar = tempnam(System::getTempPath(), 'cookiejar-onepoll-');
|
$cookiejar = tempnam(System::getTempPath(), 'cookiejar-onepoll-');
|
||||||
|
Item::incrementInbound(Protocol::FEED);
|
||||||
$curlResult = DI::httpClient()->get($contact['poll'], HttpClientAccept::FEED_XML, [HttpClientOptions::COOKIEJAR => $cookiejar, HttpClientOptions::REQUEST => HttpClientRequest::FEEDFETCHER]);
|
$curlResult = DI::httpClient()->get($contact['poll'], HttpClientAccept::FEED_XML, [HttpClientOptions::COOKIEJAR => $cookiejar, HttpClientOptions::REQUEST => HttpClientRequest::FEEDFETCHER]);
|
||||||
unlink($cookiejar);
|
unlink($cookiejar);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue