Comments (13)
@tonioo What's your opinion regarding alias domains. Should they be counted as part of the domain they are aliasing or as separate domains in their own right? (I've got a partial patch for the latter behavior - i.e. the logfiles parsing has them as first-class citizens, but the corresponding graphs can't be selected via the GUI yet).
I'm not sure what would be more useful, either way needs some additional work.
from modoboa-stats.
Thinking some more, making the domain aliases full citizens doesn't mesh well with the way postfix handles them (orig_to=
vs to=
), so I dropped the idea in PR #21.
from modoboa-stats.
@mundschenk-at I'd say we should make a distinction between domains and domain aliases. It could be useful in some cases, for example to remove an old domain alias when there is no more traffic on it. But maybe that's just an edge case... What do you think?
from modoboa-stats.
It's kinda hard to handle, because postfix/dovecot rewrites alias domains like this:
May 10 00:50:15 mail postfix/pipe[7829]: 7EBFB4675D: to=<[email protected]>, orig_to=<[email protected]>, relay=dovecot, delay=3.9, delays=3.9/0.01/0/0.04, dsn=2.0.0, status=sent (delivered via dovecot service)
We could of course try to match the orig_to
first, compare with a self.alias_domains
list first and only afterwards try to match to
to self.domains
. I'm just not sure its worthwhile.
from modoboa-stats.
from modoboa-stats.
@tonioo Well, I'll see if I come up with something. I'll probably restructure the parser in the process. Or should we do that before adding the alias domain support to separate the concerns more cleanly? Either way is fine by me.
from modoboa-stats.
Restructuring the parser might be a good idea but what's the target? Do you include modifications to address #18?
from modoboa-stats.
That and make the long list of ifs in the _parse_line
method more readable by splitting it into more tightly focused units.
from modoboa-stats.
@tonioo I've begun the restructuring in #22. Could you please have a look at line 230? What is the use of storing size zero? Before that dictionary entry ever gets used, it is overwritten by the enqueuing, no? I think the whole if
block can be skipped.
from modoboa-stats.
The link is broken, I've you found the answer alone?
from modoboa-stats.
It's a different line now, but I've let it unchanged for the moment. What's more important, displaying or generating the graphs for domain aliases does not seem to work right and I'm not sure if that's a fault in my code or just a quirk in the sampling algorithm.
I've got a domain alias that basically gets no traffic at all, unless I specifically send messages to it. I did that and the line appears to parsed properly from the logfile. However, the graph is still empty (and all y
values in the JSON are 0
).
from modoboa-stats.
@tonioo I've updated the PR to reflect that I believe it is ready for review/inclusion. The graph problem seems to be gone after sending some more test mails, so I assume it's been a sampling quirk.
from modoboa-stats.
Fixed by #22
from modoboa-stats.
Related Issues (20)
- UnicodeEncodeError while parsing logs HOT 1
- german umlauts in domains breaks logparser HOT 5
- logparser fails to create RRD directory HOT 6
- journald HOT 4
- Stats graph not showing received mail HOT 1
- rrdtool.OperationalError: new_accounts.rrd: illegal attempt to update using time (minimum one second step) HOT 3
- Statstistics graph show 2 times in page HOT 3
- Statistic graph stay in French unless we switch to English
- Problem displaying stats HOT 19
- Time entered in 12 hr should be 24 hr
- Average size graphic broken with Python3
- parser is ignoring all lines
- Remove spam/virus info from statistics graph if not used
- Whishlist: have a refresh on /stats/#graphs/?gset=mailtraffic
- Graph suddenly stopped HOT 19
- Legend block is printed on the graphics
- FutureWarning: Possible nested set at position 29 with Python 3.7
- Wrong langage error message in /stats/
- invalid date HOT 6
- export to JSON directly in graphics.py HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from modoboa-stats.