What objects are available to be used in a FluentD configuration?

Hello!

I am working with Fluentd and loving it so far, however there’s a few things that I feel are missing from the documentation.

For example, the record_transformer plugin docs here give this example:

<filter foo.bar>
  @type record_transformer
  <record>
    hostname "#{Socket.gethostname}"
    tag ${tag}
  </record>
</filter>

I am unsure where Socket.gethostname comes from here? Where is the documentation for Socket? What else can I get from it? Are there other objects like Socket that I can take advantage of?

If these are documented somewhere, I’m sorry for the useless question. Feel free to just point me there!

Another example that I found in someone else’s code is the following:

      <filter **>
        @type record_transformer
        <record>
          stream_name ${tag_parts[3]}
        </record>
      </filter>

Where does tag_parts come from? I have used it myself now and it works wonders, however, I don’t know how this person knew of it’s existence. Any ideas?

What other useful labels/objects are available?

Thanks in advance.