EPrints Technical Mailing List Archive

Message: #09285

< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

Re: [EP-tech] IRstats2 "origin of downloads"

Hi Tomasz,

Another possibility is that the irstats2_countries table has crashed an is therefore no longer updated.  However, I think you would have likely noticed this.  As I suspect it would have prevented other parts of IRStats2 updating, as one day the irstats2_internal table will retain the flag saying stats are still being updated and then subsequent days the process_stats would not be able to run.  However, maybe a crash table does not cause process_stats to fail without clearing the update flag.

Otherwise, there is various checks in the code that will stop country or origin data being generated.  Here is the whole block of code.  Hopefully, you can work out from this whether something on your repository server does not meet the required criteria:

    # if possible, use the GeoIP data file shipped with EPrints
    my $dat_file = $self->{session}->config( "lib_path").'/geoip/GeoIP.dat';
    # alternatively use the global one
    $dat_file = 1 if( !-e $dat_file );   

    #Test Geo::IP first - it's faster!
    foreach my $pkg ( 'Geo::IP', 'Geo::IP::PurePerl' )
        if( EPrints::Utils::require_if_exists( $pkg ) )
            $self->{geoip} = $pkg->new( $dat_file );
            last if( defined $self->{geoip} );

    if( !defined $self->{geoip} )
        $self->{advertise} = 0;
        $self->{disable} = 1;
        $self->{error} = "Failed to load required module for Processor::Access::Country. Country information will not be available.";
        return $self;

This code is in the file EPRINS_PATH/plugins/EPrints/Plugin/Stats/Processor/Access/Country.pm so if you cannot work out whether the criteria is meet, you could try adding some debug and then running process_stats (or wait for it to run overnight).  If this was failing I would hope that wherever you are logging the output (STDOUT and STDERR) fro process_stats would show the $self->{error} message above.


David Newman

On 19/04/2023 5:33 pm, Tomasz Neugebauer wrote:
CAUTION: This e-mail originated outside the University of Southampton.

Hi David,


Thanks for that, but I do believe that we have those packages installed. We are running on Ubuntu 18.04 if that makes a difference.

Here is some output from apt:


 apt list | grep geoip-database


geoip-database/bionic,now 20180315-1 all [installed]

geoip-database-contrib/bionic 1.19 all

geoip-database-extra/bionic,now 20180315-1 all [installed,automatic]


 apt list | grep libgeo-ip-perl


      libgeo-ip-perl/bionic,now 1.51-1 amd64 [installed]






From: David R Newman <drn@ecs.soton.ac.uk>
Sent: Wednesday, April 19, 2023 5:42 AM
To: eprints-tech@ecs.soton.ac.uk <eprints-tech@ecs.soton.ac.uk>; Tomasz Neugebauer <Tomasz.Neugebauer@concordia.ca>
Subject: Re: [EP-tech] IRstats2 "origin of downloads"


Attention This email originates from outside the concordia.ca domain. // Ce courriel provient de l'extérieur du domaine de concordia.ca



Hi Tomasz,

You will need an operating system package and a Perl library (which can probably be installed as an OS package) for that to work.  On Ubuntu 20.04 that is:

apt install geoip-database libgeo-ip-perl

On Enterprise Linux (RHEL, CentOS, Fedora, Rocky Linux, Alma Linux, etc.) it is:

yum install GeoIP perl-Geo-IP

I do not think you will be able to get back missing country of origin data without regenerating your stats from scratch but this should start being added in future.


David Newman

On 18/04/2023 21:29, Tomasz Neugebauer via Eprints-tech wrote:

CAUTION: This e-mail originated outside the University of Southampton.

I’m trying to figure out why the “origin of downloads” country data has stopped working for our repository.

I see much of the old (pre-2022) data is still there, but starting in 2022, “origin of downloads” (the map visualization) contains no data.

Any idea as to what could be causing that or where to look for the issue?

It’s not just the visualization of the map, because that still works for “all” and earlier date ranges.

It looks like the country data is not there starting in 2022?




*** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
*** Archive: http://www.eprints.org/tech.php/
*** EPrints community wiki: http://wiki.eprints.org/