Method: RubyProf::Profile#exclude_method!

Defined in:
ext/ruby_prof/rp_profile.c

#exclude_method!self

Excludes the method from profiling results.

Returns:

  • (self)


852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
# File 'ext/ruby_prof/rp_profile.c', line 852

static VALUE prof_exclude_method(VALUE self, VALUE klass, VALUE msym)
{
    prof_profile_t* profile = prof_get_profile(self);

    if (profile->running == Qtrue)
    {
        rb_raise(rb_eRuntimeError, "RubyProf.start was already called");
    }

    st_data_t key = method_key(klass, msym);
    prof_method_t* method = method_table_lookup(profile->exclude_methods_tbl, key);

    if (!method)
    {
        method = prof_method_create(profile, klass, msym, Qnil, 0);
        method_table_insert(profile->exclude_methods_tbl, method->key, method);
    }

    return self;
}