mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-12 16:46:35 +00:00
93_DbLog: contrib 5.2.0
git-svn-id: https://svn.fhem.de/fhem/trunk@26783 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
36121ef4a3
commit
cbedb9329d
@ -1363,8 +1363,7 @@ sub DbLog_Log {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my ($event,$reading,$value,$unit);
|
my ($event,$reading,$value,$unit,$err,$DoIt);
|
||||||
my $err;
|
|
||||||
|
|
||||||
my $memcount = 0;
|
my $memcount = 0;
|
||||||
|
|
||||||
@ -1481,7 +1480,7 @@ sub DbLog_Log {
|
|||||||
# Je nach DBLogSelectionMode muss das vorgegebene Ergebnis der Include-, bzw. Exclude-Pruefung
|
# Je nach DBLogSelectionMode muss das vorgegebene Ergebnis der Include-, bzw. Exclude-Pruefung
|
||||||
# entsprechend unterschiedlich vorbelegt sein.
|
# entsprechend unterschiedlich vorbelegt sein.
|
||||||
# keine Readings loggen die in DbLogExclude explizit ausgeschlossen sind
|
# keine Readings loggen die in DbLogExclude explizit ausgeschlossen sind
|
||||||
my $DoIt = 0;
|
$DoIt = 0;
|
||||||
|
|
||||||
$DoIt = 1 if($DbLogSelectionMode =~ m/Exclude/ );
|
$DoIt = 1 if($DbLogSelectionMode =~ m/Exclude/ );
|
||||||
|
|
||||||
@ -1643,30 +1642,30 @@ sub DbLog_Log {
|
|||||||
Log3 ($name, 4, "DbLog $name - added event - Timestamp: $timestamp, Device: $dev_name, Type: $dev_type, Event: $event, Reading: $reading, Value: $value, Unit: $unit");
|
Log3 ($name, 4, "DbLog $name - added event - Timestamp: $timestamp, Device: $dev_name, Type: $dev_type, Event: $event, Reading: $reading, Value: $value, Unit: $unit");
|
||||||
}
|
}
|
||||||
|
|
||||||
$memcount = DbLog_addMemCacheRow ($name, $row); # Datensatz zum Memory Cache hinzufügen
|
$memcount = DbLog_addMemCacheRow ($name, $row); # Datensatz zum Memory Cache hinzufügen
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if($async) { # asynchoner non-blocking Mode
|
if($async) { # asynchoner non-blocking Mode
|
||||||
readingsSingleUpdate($hash, 'CacheUsage', $memcount, ($ce == 1 ? 1 : 0));
|
if($memcount) {
|
||||||
|
readingsSingleUpdate($hash, 'CacheUsage', $memcount, ($ce == 1 ? 1 : 0)) if($DoIt);
|
||||||
|
|
||||||
if($memcount >= $clim) { # asynchrone Schreibroutine aufrufen wenn Füllstand des Cache erreicht ist
|
if($memcount >= $clim) { # asynchrone Schreibroutine aufrufen wenn Füllstand des Cache erreicht ist
|
||||||
my $lmlr = $hash->{HELPER}{LASTLIMITRUNTIME};
|
my $lmlr = $hash->{HELPER}{LASTLIMITRUNTIME};
|
||||||
my $syncival = AttrVal($name, "syncInterval", 30);
|
my $syncival = AttrVal($name, "syncInterval", 30);
|
||||||
|
|
||||||
if(!$lmlr || gettimeofday() > $lmlr+($syncival/2)) {
|
if(!$lmlr || gettimeofday() > $lmlr+($syncival/2)) {
|
||||||
|
|
||||||
Log3 ($name, 4, "DbLog $name - Number of cache entries reached cachelimit $clim - start database sync.");
|
Log3 ($name, 4, "DbLog $name - Number of cache entries reached cachelimit $clim - start database sync.");
|
||||||
|
|
||||||
DbLog_execMemCacheAsync ($hash);
|
DbLog_execMemCacheAsync ($hash);
|
||||||
|
|
||||||
$hash->{HELPER}{LASTLIMITRUNTIME} = gettimeofday();
|
$hash->{HELPER}{LASTLIMITRUNTIME} = gettimeofday();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$net = tv_interval($nst); # Notify-Routine Laufzeit ermitteln
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$async) {
|
if(!$async) {
|
||||||
@ -1674,9 +1673,7 @@ sub DbLog_Log {
|
|||||||
return if($hash->{HELPER}{REOPEN_RUNS}); # return wenn "reopen" mit Ablaufzeit gestartet ist
|
return if($hash->{HELPER}{REOPEN_RUNS}); # return wenn "reopen" mit Ablaufzeit gestartet ist
|
||||||
|
|
||||||
$err = DbLog_execMemCacheSync ($hash);
|
$err = DbLog_execMemCacheSync ($hash);
|
||||||
DbLog_setReadingstate ($hash, $err) if($err);
|
DbLog_setReadingstate ($hash, $err) if($err);
|
||||||
|
|
||||||
$net = tv_interval($nst); # Notify-Routine Laufzeit ermitteln
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if($hash->{HELPER}{SHUTDOWNSEQ}) {
|
if($hash->{HELPER}{SHUTDOWNSEQ}) {
|
||||||
@ -1685,6 +1682,8 @@ sub DbLog_Log {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$net = tv_interval($nst); # Notify-Routine Laufzeit ermitteln
|
||||||
|
|
||||||
if($net && AttrVal($name, 'showNotifyTime', 0)) {
|
if($net && AttrVal($name, 'showNotifyTime', 0)) {
|
||||||
readingsSingleUpdate($hash, 'notify_processing_time', sprintf("%.4f",$net), 1);
|
readingsSingleUpdate($hash, 'notify_processing_time', sprintf("%.4f",$net), 1);
|
||||||
@ -4006,7 +4005,9 @@ sub DbLog_SBP_Read {
|
|||||||
|
|
||||||
delete $hash->{HELPER}{'LONGRUN_PID'};
|
delete $hash->{HELPER}{'LONGRUN_PID'};
|
||||||
delete $hash->{HELPER}{LASTLIMITRUNTIME} if(!$msg);
|
delete $hash->{HELPER}{LASTLIMITRUNTIME} if(!$msg);
|
||||||
|
|
||||||
|
my $ce = AttrVal ($name, 'cacheEvents', 0);
|
||||||
|
|
||||||
# Log3 ($name, 1, "DbLog $name - Read result of operation: $oper");
|
# Log3 ($name, 1, "DbLog $name - Read result of operation: $oper");
|
||||||
# Log3 ($name, 1, "DbLog $name - DbLog_SBP_Read: name: $name, msg: $msg, ot: $ot, rowlback: ".Dumper $rowlback);
|
# Log3 ($name, 1, "DbLog $name - DbLog_SBP_Read: name: $name, msg: $msg, ot: $ot, rowlback: ".Dumper $rowlback);
|
||||||
|
|
||||||
@ -4026,15 +4027,17 @@ sub DbLog_SBP_Read {
|
|||||||
$memcount = DbLog_addMemCacheRow ($name, $rowlback->{$key}); # Datensatz zum Memory Cache hinzufügen
|
$memcount = DbLog_addMemCacheRow ($name, $rowlback->{$key}); # Datensatz zum Memory Cache hinzufügen
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
readingsSingleUpdate ($hash, 'CacheUsage', $memcount, ($ce == 1 ? 1 : 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
if($asyncmode) {
|
#if($asyncmode) {
|
||||||
$memcount = defined $data{DbLog}{$name}{cache}{memcache} ?
|
# $memcount = defined $data{DbLog}{$name}{cache}{memcache} ?
|
||||||
scalar(keys %{$data{DbLog}{$name}{cache}{memcache}}) :
|
# scalar(keys %{$data{DbLog}{$name}{cache}{memcache}}) :
|
||||||
0;
|
# 0;
|
||||||
|
|
||||||
readingsSingleUpdate ($hash, 'CacheUsage', $memcount, 0);
|
# readingsSingleUpdate ($hash, 'CacheUsage', $memcount, 0);
|
||||||
}
|
#}
|
||||||
|
|
||||||
if(AttrVal($name, 'showproctime', 0) && $ot) {
|
if(AttrVal($name, 'showproctime', 0) && $ot) {
|
||||||
my ($rt,$brt) = split(",", $ot);
|
my ($rt,$brt) = split(",", $ot);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user