Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 11 2018 10:21

    asahd on v2.5.2

    (compare)

  • Sep 11 2018 10:21

    asahd on v2.5.2

    (compare)

  • Sep 11 2018 10:19

    asahd on master

    Restore nginx.conf.example (compare)

  • Sep 11 2018 10:05

    asahd on v2.5.2

    (compare)

  • Sep 11 2018 10:04

    asahd on feature-symantic

    (compare)

  • Sep 11 2018 10:04

    asahd on master

    Added full document toggle to s… Added post and patch metadata. Updated Metadata to update stat… and 6 more (compare)

  • Sep 11 2018 10:04
    asahd closed #1232
  • Sep 11 2018 09:05
    asahd labeled #1232
  • Sep 11 2018 09:05
    asahd unlabeled #1232
  • Sep 11 2018 08:42
    asahd synchronize #1232
  • Sep 11 2018 08:42

    asahd on feature-symantic

    Fixes statement creations being… (compare)

  • Sep 10 2018 15:07

    happy-machine on Statement_component

    fixed default naming in Stateme… (compare)

  • Sep 10 2018 12:45
    asahd synchronize #1232
  • Sep 10 2018 12:45

    asahd on feature-symantic

    Changes Forwarding UI, updates … (compare)

  • Sep 10 2018 11:45
    ht2 synchronize #1232
  • Sep 10 2018 11:45

    ht2 on feature-symantic

    Start of shareable dashboards u… Removed filter required paramet… Added validation for shareable … and 49 more (compare)

  • Sep 04 2018 16:29
    cutz opened #1246
  • Sep 04 2018 14:20
    samjaved closed #1245
  • Aug 30 2018 22:20
    ryansmith94 assigned #1242
  • Aug 30 2018 16:43

    happy-machine on Statement_component

    working as Map (compare)

Thomas Deleur
@DeleurThomas_twitter
Hi Everyone, i am running some benchmarking on Learning locker instance with a single instance LRS. 16 core 32G RAM machine. All i am testing is purely PUT and GET on state API to see if i can get 10k to 11k requests/sec. Optimized nginx to handle the incoming requests and all i am able to get through with this setup is 2200req/sec with 18-20ms response times. It's hard to increase the throughput beyond this, and any increase in requests spikes response time up to few 100 ms. Memory is good (tons left), CPU is only used 25%, disk and n/w doesn't seem to be a problem. However, i am not able to see why the req throughput couldn't be increased beyond 2200r/s. Recommended mongo indexes are in place. Nginx status shows, it's able to get all the requests without issues and it's APM metrics shows that as the throughput increases, time is spent in $upstream_response. Sample: method=GET request_length=609 status=200 bytes_sent=948 body_bytes_sent=342 upstream_status=200 request_time=0.407 upstream_response_time=0.408 upstream_connect_time=0.000 upstream_header_time=0.408. From mongo, it doesnt look like it's stressing either. Freemonitoring mongo doesn't show any visible problems with 7000 read/s and response time 0.05 ms. I am guessing something is gong with the node layer but am not sure what is that. No logs to figure out what's going as well. Any pointers would be appreciated!!
Thomas Deleur
@DeleurThomas_twitter
Screen Shot 2021-04-07 at 10.01.44 PM.png
An update. I believe the workers are not scaling up to take the incoming requests from nginx. I thought of launching more instances of xAPI service (pm2 start xAPI -i 10) but what i observe is that the default 2 instances take up full load and couple of additional instances show up with not much load being shared. Please see the top output. am i doing something wrong in configuring the xAPI service to start with more than 2 instances to begin with?
Thomas Deleur
@DeleurThomas_twitter
I couldn't start with a predefined # of xAPI processes, however, i was able to scale it. I'll test now and post my results. FYI
Pavlo Barvinko
@pavlo16_gitlab
Hi everybody. I am trying for a couple of days already to get the statement forwarding working. I have setup the statement forwarding to my https endpoint, but there is no traffic to it at all from the learning locker no matter what I try. Can anyone confirm that statement forwarding is actually functional? LearningLocker installation is local to mongo and redis on the single Ubuntu 18.04 aws ec2 instance. Any pointers where to look are greatly appreciated. Thanks!
Thomas Deleur
@DeleurThomas_twitter
@pavlo16_gitlab , yes it works. i have tested it recently and found it operational. Where is your https end point and is it functioning properly, meaning can you send some requests directly and see being processed?
Pavlo Barvinko
@pavlo16_gitlab
@DeleurThomas_twitter Interesting. I have found out that each attempt to forward a statement produces "Cannot read property \'_id\' of null" in the worker logs. There is a fix, proposed at the bottom of the thread at github: LearningLocker/learninglocker#1251. So I wonder what is different between mine installation and your that it works for you and produces the error for me..
and, yes, the direct requests to the endpoint are received and processed properly
Thomas Deleur
@DeleurThomas_twitter
Any pointers would be appreciated! I am load testing just PUT and GET (state api), and regularly (about every 40-50 seconds), i see transactions/sec in iostat increasing to several thousands while it's in 30's otherwise. When this surge happens obviously the latency gets a hit. I am wondering if Mongo is doing some kind of a bulk update or flush at regular intervals? Any idea why do i see this behavior? I couldn't find any pointers and have been on this for a couple of days now with not much progress. Any pointers will be very helpful.
Thomas Deleur
@DeleurThomas_twitter
Screen Shot 2021-04-08 at 7.31.16 PM.png
Screen Shot 2021-04-08 at 7.31.43 PM.png
Digging this further, when the TPS goes up, i actually see less commands sent to mongo. you can see the stats above. That sudden drop in commands sent to mongo makes me wonder if the xAPI node worker is a problem. Not sure if i can check any logs to troubleshoot this further.
Screen Shot 2021-04-08 at 7.36.23 PM.png
Thomas Deleur
@DeleurThomas_twitter
when this happens, req/sec (green top) drops and latency(yellow/bottom) suffers.
Thomas Deleur
@DeleurThomas_twitter
Team, any thoughts on the above? i see requests bursts resulting in high tps. I have also disabled mongo aggregation to see if that's causing it, but result is same.
Jesus M Bianco T
@jbiancot_twitter
Hi, we are using learning locker v3.18, and today I setup another server with slightly different domain, example instead of lrs.fleetdefense.com, we are using lrs.uat.fleetfedense.com, then I am getting a bunch of request on the Nginx, and there is a lot of communication between LRS and Mongo
[03/May/2021:18:22:08 -0400] "GET /api/statements/aggregateAsync?pipeline=%5B%7B%22%24match%22%3A%7B%22timestamp%22%3A%7B%22%24gte%22%3A%7B%22%24dte%22%3A%222021-03-03T22%3A20%3A00.000Z%22%7D%7D%7D%7D%2C%7B%22%24match%22%3A%7B%22%24and%22%3A%5B%7B%7D%2C%7B%7D%5D%7D%7D%2C%7B%22%24project%22%3A%7B%22group%22%3A%22%24statement.verb.id%22%2C%22model%22%3A%22%24statement.verb%22%7D%7D%2C%7B%22%24group%22%3A%7B%22_id%22%3A%22%24group%22%2C%22count%22%3A%7B%22%24sum%22%3A1%7D%2C%22group%22%3A%7B%22%24first%22%3A%22%24group%22%7D%2C%22model%22%3A%7B%22%24first%22%3A%22%24model%22%7D%7D%7D%2C%7B%22%24sort%22%3A%7B%22count%22%3A-1%7D%7D%2C%7B%22%24limit%22%3A10000%7D%2C%7B%22%24project%22%3A%7B%22_id%22%3A1%2C%22count%22%3A1%2C%22model%22%3A1%7D%7D%5D&skip=&sinceAt= HTTP/1.1" 200 117 "https://lrs.uat.fleetdefense.com/organisation/5a05e49bb292bd5b10e982a4/settings/stores" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:88.0) Gecko/20100101 Firefox/88.0"
D QUERY [conn36] Using idhack: query: { _id: ObjectId('5a05e49bb292bd5b10e982a1') } sort: {} projection: {} batchSize: 1 limit: 1
D QUERY [conn34] Relevant index 0 is kp: { _id: 1 } unique name: 'id' io: { v: 2, key: { _id: 1 }, name: "id", ns: "learninglocker_v2.role" }
D QUERY [conn34] Only one plan is available; it will be run but will not be cached. query: { _id: { $in: [ ObjectId('5a05e49bb292bd5b10e982a5') ] } } sort: {} projection: {}, planSummary: IXSCAN { _id: 1 }
D QUERY [conn31] Using idhack: query: { _id: ObjectId('5a05e49bb292bd5b10e982a1') } sort: {} projection: {} batchSize: 1 limit: 1
D QUERY [conn29] Relevant index 0 is kp: { _id: 1 } unique name: 'id' io: { v: 2, key: { _id: 1 }, name: "id", ns: "learninglocker_v2.role" }
D QUERY [conn29] Only one plan is available; it will be run but will not be cached. query: { _id: { $in: [ ObjectId('5a05e49bb292bd5b10e982a5') ] } } sort: {} projection: {}, planSummary: IXSCAN { _id: 1 }
D QUERY [conn32] Using idhack: query: { _id: ObjectId('5a05e49bb292bd5b10e982a1') } sort: {} projection: {} batchSize: 1 limit: 1
Ilya Shikhaleev
@ilya.shikhaleev:matrix.org
[m]
Hi! Is it possible to use SSO with Learning Locker LRS? I need to provide a direct access from my platform to lrs for users.
I found several mentions about jwt into github https://github.com/LearningLocker/learninglocker. But it looks like jwt for internal tasks, not for SSO with external platforms.
Jesus M Bianco T
@jbiancot_twitter
I don't see activity on this chat since May 18th? are people still using it????
deepak2k
@deepak2k:matrix.org
[m]
Hello! We installed Learning Locker v7.0.0 using the default installation scripts from https://docs.learninglocker.net/guides-installing/. We are able to send xAPI statements and the data shows up in the LRS stores. However, it seems, the Workers are not automatically running the STATEMENT_QUERYBUILDERCACHE_QUEUE and STATEMENT_PERSON_QUEUE, every time new statements come in. We have to manually run the 'node cli/dist/server batchJobs ...' in order to be able to query the statements in LL. We have the ALLOWED_WORKER_QUEUES setting enabled in .env, but that doesn't seem to have any effect. Are we missing anything? Any help in this matter will be greatly appreciated. Thank-you!
kchrislee
@kchrislee
error in running pm2 start pm2/all.json, status error
image.png
image.png
image.png
subhash
@dulla_gitlab
i see the below error in xapi logs, also i am getting 500 internal error when hitiing /data/xapi/statements ...etc image.png
subhash
@dulla_gitlab
@ht2 kindly provide a solution to fix this issue
Ren4tus
@Ren4tus
When I create LearningLocker with AWS, I get a "too long to respond" error. I'm using t2.medium and I set up security groups, VPCs, and Subnet. Is there a problem?
image.png
image.png
image.png
Todd McIntosh
@toddmcintosh
Hi guys. I'm just setting up New Relic monitoring for our LL instance (on Ubuntu). I've modified the 2 .env files to enable the New Relic reporting. However data seems to come through to NR as server level data and not application-level data. To compare, we have a .NET app on a separate Windows box, and we have a server agent and an application agent on that box for New Relic. How do I get LL application data to pipe into New Relic properly? Thanks guys!
uciica
@uciica
Hi, I have installed and run my LL with AWS based on the installation docs. I was also able to run the example unity project using GBLxAPI to the LL. My end goal is to build an interface to generate 2d/3d graph/chart in Unity (in MR devices like HoloLens/HTCVive) using the learners' data from LL.
correct me if I wrong, the next step i should do is to find out how to query the xapi to unity? but then idk where to store it in unity. should i query each activity(course)?
sorry i am new in both LRS and unity.
thanks in advance
Dennis Hall
@hallshouse
Is there a CLI command that I can use to allow a user to see/administer all organizations?
I have a system that the original site administrator was deleted on and need to allow another user to take over this super-admin role.
Cameron Beeler
@CameronBeeler
@hallshouse, in AWS? For future convenience, use your root access on your org account, setup SSO and create an admin Permission set, then create a user and associate the user with the permission set and the accounts you want the admin to access. Additionally, any AWS Solutions Architect / SysOps you trust to manage your Organization should be able to guide you through the necessary steps.
Dennis Hall
@hallshouse

Thanks for answering. I'm not sure where you're getting anything about AWS. I have built many LL servers over the years on AWS and on my own servers.
My question has nothing to do with installation or the initial configuration. All my LL servers have been alive and well for years.

My question is about a site administrator user that was deleted form the system by another administrative user. The issue is, that site admin user (able to manage all organizations) was the only one set at manage all organizations so the system right now is unable to do super-admin functions.
My question was only asking if there is a CLI command that I can use to create a new super-admin or change an admin to a super-admin so they can do things like via all organizations and verify users manually.

Anyhow, no matter... I found my answer in the LL Docs:
node cli/dist/server createSiteAdmin [email] [organisation] [password]

Cameron Beeler
@CameronBeeler
@hallshouse - Sorry 'bout that. Similar terminology. AWS Organizations, admin users....I'm newer with LL and haven't run across that terminology in this context. I've assisted with the setup and config of LL for others inside of AWS and manage their admin and systems access...again, sorry bout that and glad you got your CLI sorted!
PJ Palomaki
@AVTPJ
Hey, I'm having issues with the AWS LL community ami, everything seems to set up correctly and run fine, but after a while, the server becomes unresponsive and I get nginx errors on the login screen. Only after restart it becomes responsive again. I'll look into the logs, but any known issues I should be aware of?
PJ Palomaki
@AVTPJ
image.png
PJ Palomaki
@AVTPJ
Ok I didn't realise micro wasn't recommended due to memory issues so I've spun an instance on t2.medium. Will contact again if the same issues persist!
dkadio
@dkadio
Hi there, would really like to use this system on prem on k8s. Is there anything allready started in this direction?
mathurshubham2
@mathurshubham2
Hi, We have been facing a lot of delays in xAPI calls when playing articulate storyline files.
It takes sometimes 10 mins to respond and load the files.
Is there any logs that we should be looking at to check this or if we can do any optimizations in the db?
Rajesh Kumar Dash
@Rajesh2015
Hi guys,I am trying to insert the data to Learning locker.I would like to set the timestamp of statements with timezone offset eg("2019-10-18 17:56:09.14+05:30") .However learning locker does not allow it and only allow storing it in UTC without the offset .I see in documentation of learning locker "You should set a timestamp with the correct time zone, otherwise the LRS will generate one that uses the time the statement was stored instead of the time an experience occurred, which is inaccurate for analysis." I donot really nderstand statement where it ask the user to set time zone .If its feasible how can we do it or is it just server timezone
Jesus M Bianco T
@jbiancot_twitter
Hi all, I was wondering how I can change the password of a super-user, perhaps using the CLI or there is any collection where I can handle it? We are running Learning Locker v3.18
Dennis Hall
@hallshouse
New LL v7.1.0 install on Ubuntu 18.04 LTS
LL seems to work fine, but it is not saving statements.
I can load LL and login, visit every page - no issues, but when I write statements to it, no joy.
Using the same application and platform, I can write statements to my other LL v6.0.6 installation, but not v7.1.0
Nothing failing at all in the logs.
Any idea what the issue could be?
Dennis Hall
@hallshouse

So After some tries to write statements, I've found my first error traces - or at least a starting point:
2021-09-23 21:05:29:525 - ^[[31merror^[[39m: Failed Mongo connection: no primary found in replicaset or invalid replica set name
2021-09-23 21:05:30:535 - ^[[31merror^[[39m: Failed Mongo connection: no primary found in replicaset or invalid replica set name
2021-09-23 21:05:31:544 - ^[[31merror^[[39m: Failed Mongo connection: no primary found in replicaset or invalid replica set name
2021-09-23 21:05:32:550 - ^[[31merror^[[39m: Failed Mongo connection: no primary found in replicaset or invalid replica set name
2021-09-23 21:05:32:551 - ^[[31merror^[[39m: 32f0e76c-3363-4bf6-9971-a6b3b7e503b2: jscommons handled - A server error occurred
{ message: ^[[32m'Too many retries'^[[39m,
stack:
^[[32m'Error: Too many retries\n at Object.<anonymous> (/usr/local/learninglocker/releases/ll-20210923-ac0803ea165dd49ad74e059a294f5635708d3b80/xapi/node_modules$

Any idea why this would be when Mongo and LL seem to be working in the webapp side? I'm certain mongoDB is talking to LL since I can login and configure LL error-free.
I'm also only using a local mongo install.

Josh Ryan
@joshryan

If the system that a learning locker instance is forwarding statements to has an outage, is there a decent way to re-retry all statements that didn't successfully forward?

If nothing else, at a glance it looks like one might be able to just edit some values in mongo and the queues might pick things up again?

mrfish55
@mrfish55

Anyone having issues with statement forwarding?

I get an error message: "message": "ForwardingRequestError: Unable to connect to \"https://websitename.com/actions/public-api/papi/lrs-completion\"

Started happening beginning of this month...

DiemTrinh1513636
@DiemTrinh1513636

Hi everyone,
I start Learning locker by docker (https://github.com/michzimny/learninglocker2-docker)
I follow to this video (https://www.youtube.com/watch?v=LiIl_0TF_eE) to add a statement
POST /data/xAPI/statements
But I receive the response
{ "more": "", "statements": [] }

And I saw the log that is the GET method. I don't understand, anyone could help me? Thanks