Skip to content

Instantly share code, notes, and snippets.

@okkez
Last active May 15, 2017 07:30
Show Gist options
  • Save okkez/05ee6af7b8bb7de852a36eb2f679c344 to your computer and use it in GitHub Desktop.
Save okkez/05ee6af7b8bb7de852a36eb2f679c344 to your computer and use it in GitHub Desktop.

Pros/Cons for upgrading to Fluentd v01.4 API

Pros

  • We can develop maintainable plugin using sophisticated new plugin API
  • We can develop non-buffered/buffered/async output plugin in one file
  • Users can switch non-buffered/buffered/async output plugin via configuration
  • We can write well-encapsulated code by useful plugin helpers
  • We can write maintainable test using real test drivers that we can use easily
  • Built-in multi process support
  • We can flexibly specify how to divide chunks
    • Per tag
    • Per time (eg. per day, per hour, etc.)
    • Per arbitrary field in records
  • We can manage plugin state using storage plugin API

Cons

  • We need rewriting code because new API does not have backward compatibility
    • However, basically we can run plugins that uses old API because Fluentd v0.14 has compatibility layer
  • We need full-rewriting test code
    • We can learn how to write test by reading Fluentd plugins test. FYI: Fluentd uses test-unit.
  • It is impossible to work with both Fluentd v0.12.x and Fluentd v0.14.x, after migrate to new API
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment