[Tarantool-discussions] [RFC] rfc: describe a LuaJIT memory profiler
Sergey Kaplun
skaplun at tarantool.org
Fri Dec 11 13:05:08 MSK 2020
Igor,
Thanks for your feedback, I'll send RFC v2 with the patch for the
profiler in LuaJIT for more detailed review.
On 11.12.20, Igor Munkin wrote:
> Sergey,
>
> Thanks for the clarification! I read the doc once more and answered the
> remaining questions below. I guess we have resolved the major points so
> I wait for the second version of the RFC.
>
> On 16.11.20, Sergey Kaplun wrote:
<snipped>
> > > > +
> > > > +Extended functions to control profiler are added to <lmisclib.h>.
> > > > +Profiler is configured by this options structure:
> > > > +
> > > > +```c
> > > > +/* Profiler options. */
> > > > +struct luam_Prof_options {
> > > > + /* Options for the profile writer and final callback. */
> > > > + void *arg;
> > > > + /*
> > > > + ** Writer function for profile events.
> > > > + ** Should return amount of written bytes on success or zero in case of error.
> > > > + */
> > > > + size_t (*writer)(const void *data, size_t len, void *arg);
> > > > + /*
> > > > + ** Callback on profiler stopping. Required for correctly cleaning
> > > > + ** at vm shoutdown when profiler still running.
> > > > + ** Returns zero on success.
> > > > + */
> > > > + int (*on_stop)(void *arg);
> > > > +};
> > > > +```
> > >
> > > Well, maybe it's better to introduce a special interface to fill this
> > > struct? Something similar to luaE_coveragestart_cb[1]. As a result the
> > > structure is encapsulated in LuaJIT, that looks more convenient for the
> > > further maintenance.
> >
> > Yes, but on the other side for each profiler we should create N
> > additional interfaces how to start it.
>
> As well as N additional structs for profiler options. So what?
Why? One structure for *all* profilers. It's the point.
>
<snipped>
> > >
> > > What does this "Overrides" attribute mean?
> >
> > What allocation this reallocation overrides.
>
> Well, I guess I get it, but doubt that "overrides" fits this definition.
>
It can be named "overwrites".
> >
>
> <snipped>
>
> > > > +#### Dump of Lua universe
>
> Let's sort the needy from the greedy right here. While reading the RFC
> once more, I bethought to move this part to a separate document to not
> spoil this one. Thoughts?
Totally agree, insofar as it will be provided in the next version of
the profiler.
>
<snipped>
>
> --
> Best regards,
> IM
--
Best regards,
Sergey Kaplun
More information about the Tarantool-discussions
mailing list