• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Feature [TFS 1.4] OTS statistics (C++/Lua/SQL) by kondra

Plenty of scripts can have significant difference in execution based on number of players, like based on different inputs. Also gathering stats of server usage in production is a very common thing. That's how you are able to optimize everything, because you have data from real situations, not virtual/forced/predictions in development.
Thanks for sharing the obvious
 
Last edited:
I think you are misunderstanding this feature. It is about STATISTICS on REALTIME running application, not really a profiling (even though you can use it to profile)

Yes, if you are trying to profiling something there are alot of non-invasive tools to do it. But when you are professionally operating some application, to have this metrics on exactly what may go wrong and for example, connect it to some monitoring services as datadog/prometheus/whatever, the released code turns very powerful
 
Do it by yourself.

The people even having free code released wants to have everything served on a silver tray, atleast do some effort by yourself.
Not everyone here, has the knowledge man. Can somebody help me ? my files are not equal to this
i had problem cherry-picking the code, now im doing it manually, im facing problems at procolgame,h
and maybe in scheduler.cpp. Can someone help me through this?
Post automatically merged:

i have made everything manually and the files that are displayed a erros is stats.cpp, the new file that was added to the source, i did all the commits. what is wrong?
 
Last edited:
I think you are misunderstanding this feature. It is about STATISTICS on REALTIME running application, not really a profiling (even though you can use it to profile)
I'm trying to understand what you meant in this phrase but I'm not being able to... Do you mind explaining me what's the difference for you between "a profiler" and "statistics realtime of a running application"?
 
I'm trying to understand what you meant in this phrase but I'm not being able to... Do you mind explaining me what's the difference for you between "a profiler" and "statistics realtime of a running application"?

Yeah, sure!! Maybe I was not clear on words as it is on my mind :p

How would you easily monitor your application on code-level with a profiler?

At least on my professional experience I usually profile the application with some tool that you mentioned, on a controlled environment, get the logs, analyze, optmize and cycle on this. It is really the best way to profile as some folks wrote here.

On the other side, with this released feature on your code, you can attach a file-watcher and plug it to some service as datadog or whatever and get it on realtime, add some alerts and all this kind of stuff. On a production environment.

So, answering your question: for me, the difference of "a profiler" and "statistics realtime of a running application" (I really chose bad words here, my fault. The best fit here is monitoring a running application) is monitoring

I am not saying that this feature is revolutionary, solution of all issues of TFS etc.
 
Why in earth would you do something like that from scratch, if there are dozen of free observability and tracing tools that are designed for that and are way better than any pseudo-developer like Kondra?
 
Why in earth would you do something like that from scratch, if there are dozen of free observability and tracing tools that are designed for that and are way better than any pseudo-developer like Kondra?
Thats why I wrote on the last line:

I am not saying that this feature is revolutionary, solution of all issues of TFS etc.
 
On the other side, with this released feature on your code, you can attach a file-watcher and plug it to some service as datadog or whatever and get it on realtime, add some alerts and all this kind of stuff. On a production environment.
You can also do this with a profiler, by the way, if you look up "profilling" in wikipedia it will explain exactly the same thing you just wrote referring to this "other" thing you imagined:
1675163427058.png

The difference is that there several types and techniquees to profile an application, one of them being how Kondrah did in this log.
Check the #1 item here

Why in earth would you do something like that from scratch, if there are dozen of free observability and tracing tools that are designed for that and are way better than any pseudo-developer like Kondra?
we don't know for sure why he did that, perhaps it was just a personal challenge to try and code something that already exists from the scratch to understand how it would work, idk, I used to do a ton of things by hand in the beginning to get the grip of how it really worked, it's a great learning exercise.
What surprises me is that he was selling that, and people were buying. I mean, what the hell...
 
Why in earth would you do something like that from scratch, if there are dozen of free observability and tracing tools that are designed for that
What surprises me is that he was selling that, and people were buying. I mean, what the hell...
It's called business problem solution. There are many tools that are designed for other problems. Not OTS problems.

OTS problems:
  • CPU runs around 80% with XXX online - there is no place for tool that adds more than 10% overhead
  • lags occur rarely, your server may run for months with no lags and then it lags for 5 seconds at 2 AM
  • OTS owners are not C++ experts (+ monitoring experts, if you plan to pass profiler data to some tool that will aggregate it for months and generate reports)

Paying 300$ to get tool that generates easy to read reports is a pretty good deal.

Can you make something like this without Kondra's code, using some open source tools? For sure.
Would you do it for someone's OTS for less than 300$? Is it stable enough (random open source tool) to run it for months on production? Would it use less CPU? No, no and no?
 
I'm not really sure if you're being innocent, sarcastic or you just have want so badly to mislead people intentionally.
Every single sentence you said is wrong, except perhaps this one:
Paying XXXXX to get tool that generates easy to read reports is a pretty good deal.

Let me go one by one:
It's called business problem solution. There are many tools that are designed for other problems. Not OTS problems.
I know many people treat ot community as "business" but this is a school, a safe place for people that want a shot at entrepreneurship, marketing, webdevelopment, webdesign, front/back end developing. As a way more experienced programmer, I'm trying to support others and answer questions and strategies that are proven to work out there. There's no such thing as "it works everywhere else, but not for OT".
OTS problems:
  • CPU runs around 80% with XXX online - there is no place for tool that adds more than 10% overhead
  • lags occur rarely, your server may run for months with no lags and then it lags for 5 seconds at 2 AM
  • OTS owners are not C++ experts (+ monitoring experts, if you plan to pass profiler data to some tool that will aggregate it for months and generate reports)
There are strategies, different tools and methods to profille an application real time without so much overhead. Let's raise awareness about this, let others investigate and share what they tried and what works best. You remember how no one was using gdb before except a few servers but now pretty much everyone is using it and fine-tuning parameters?
Also, whoever is working in an otserver will need to learn a thing or two eventually.
Plus, neither of those problems are exclusive to OTs, they are not even exclusive of this open source community.
Paying XXXXX to get tool that generates easy to read reports is a pretty good deal.
Indeed, it is a good deal because of the return of investment (assuming the OT has enough receipt) in the hands of an experienced developer that will know what to do with the information, but think it for a second: you just said OT admins are not cpp experts, so they are literally paying for a logger that they will need to pay later on for someone to analyse and find the root cause? Aren't you sure you're just defending your own interests here? By the way @Kaspar I'm really curious if you're going to ban @Gesior.pl for "advertising" like you did with me when I criticized Kondrah for selling otc for XXXX.
Can you make something like this without Kondra's code, using some open source tools? For sure.
Yes, you can and you should. And those tools are not necessarily open source, they are just widely used since ages.
Would you do it for someone's OTS for less than 300$? Is it stable enough (random open source tool) to run it for months on production? Would it use less CPU? No, no and no?
Yes, I did way more for literally no return. There's plenty of people doing infinetely more in exchange for being ridicularized and mocked by you and other members :)
"random open source tool" hahahahahahahahahaa
We are talking here about state of art profillers that are used or developed by the biggest tech companies of the world, made especifically for this purpose. You can't literally being serious, it must be a joke.
 
Last edited:
night wolf can you just stop commenting in these threads
you are just arguing because you are extremely jealous of the codes these people are putting out
you act like some goddamn pro in every thread, but you havent contributed anything to this community
u are just oozing jealousy and it's really not a good look

the guy releases a freaking good system and ur asking admins to ban him? what the frick?
 
night wolf can you just stop commenting in these threads
you are just arguing because you are extremely jealous of the codes these people are putting out
you act like some goddamn pro in every thread, but you havent contributed anything to this community
u are just oozing jealousy and it's really not a good look
See my first comment, I honestly don't think the code being available is something bad, quite the opposite.
I'm glad we have now another alternative, I'm just questioning why people don't use existing tools for this and at same time sharing the knowledge and raising awareness that indeed such tools exist. If there was a single topic or person asking me how they could measure performance of their code, I'd suggest a profiller right away, but because there was someone selling it people just assumed it was yet another thing they had to buy.
You might be surprised, but I stopped coding in the community for a few years now, but every topic, questioning and information I bring here are as valuable as coding contributions.
I promise you I'm not jealous, it's more about pitty the feeling I get everytime I am in this forum and see how desperate some guys are to milk money out of otadmins before claiming they are all "leechers".

the guy releases a freaking good system and ur asking admins to ban him? what the frick?
It's quite the opposite my rounded-black-bird friend, I was being sarcastic about a report I got a few months ago where Kaspar warned me by saying the exact same sentence of gesior, in which his words would categorize an "indirectly advertising":
The problem here is that you are indirectly advertising his sale of said resource, by stating that it's kondra that is selling it, and for what price.
 
Dm me so i can setup your full server rl map customized + 4500 players online for free so you run a full business and i just receive the thanks
come here your miserable little prick. I can pretend to be your friend for 500euro/week fat boy
 
It's called business problem solution. There are many tools that are designed for other problems. Not OTS problems.

OTS problems:
  • CPU runs around 80% with XXX online - there is no place for tool that adds more than 10% overhead
  • lags occur rarely, your server may run for months with no lags and then it lags for 5 seconds at 2 AM
  • OTS owners are not C++ experts (+ monitoring experts, if you plan to pass profiler data to some tool that will aggregate it for months and generate reports)

Paying 300$ to get tool that generates easy to read reports is a pretty good deal.

Can you make something like this without Kondra's code, using some open source tools? For sure.
Would you do it for someone's OTS for less than 300$? Is it stable enough (random open source tool) to run it for months on production? Would it use less CPU? No, no and no?
Ok, just from you answer we know as fact that you don't know anything about monitoring, tracing or observability tools.

The simple fact that you're talking running it together with your application is already absurd. All those tools are normally integrated with dedicated runners, to decouple it from your main application, as it should be.

Random tool? Open telemetry, and it's implementations like prometheus are there for ages and are free.

In case you wanna spend money, spend with datadog, not Kondra.

And you've made me laugh hard with "stable". Please come back to reality, nothing in the open tibia community is stable enough. There are no tests, no proper versionising, nothing. Any slightly serious open source project with tests and automated pipelines is more reliable than the faith driven development that is used here.
 
The simple fact that you're talking running it together with your application is already absurd. All those tools are normally integrated with dedicated runners, to decouple it from your main application, as it should be.

Random tool? Open telemetry, and it's implementations like prometheus are there for ages and are free.

Yay! you got the point that I tried to explain here.

I just want to know which profilers offers plugins to connect its data output to a service like prometheus/datadog (I really want to know).
What I tried to say on previous post was that some """tool""" like this one from Kondra can be used to connect to one of this services.


And you've made me laugh hard with "stable". Please come back to reality, nothing in the open tibia community is stable enough. There are no tests, no proper versionising, nothing. Any slightly serious open source project with tests and automated pipelines is more reliable than the faith driven development that is used here.
Here you have an interesting point. The lack of unit/functional tests on opentibia is really sad.
Once I tried to see what should be refactored to at least use some SOLID principles to be testable and I almost gave up, probably it owuld not be accepted (I will give a try someday).

I see that we are all talking about the same subject: professional approachs to keep the quality and community healthy. It is not about Kondra and what he does/sells.

Gesior, Mehah and much others are doing his part and sharing resources. We are doing our part debating about this technical subjects. Others are flamming. The community breathes :p
 
Back
Top