diff --git a/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php b/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php
index cef98823be..18895c1901 100644
--- a/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php
+++ b/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php
@@ -13,7 +13,36 @@
 use Drupal\migrate\Row;
 
 /**
- * The base class for all source plugins.
+ * The base class for source plugins.
+ *
+ * Available configuration keys:
+ * - cache_counts: (optional) (boolean) If set cache the source count.
+ * - skip_count: (optional) (boolean) If set not attempt to count the source.
+ * - track_changes: (optional) (boolean) If set track changes to incoming data.
+ * - high_water_property: It is an array of single value (optional table alias)
+ *   which have the high_water_property corresponding to it.
+ *
+ * Example:
+ *
+ * @code
+ * source:
+ *   plugin: some_source_plugin_name
+ *   cache_counts: true
+ *   skip_count: true
+ *   track_changes: true
+ * @endcode
+ *
+ * The highwater mark or track changes not should be set at the same time.
+ * They are both designed to solve the same problem.
+ *
+ * Example:
+ *
+ * @code
+ * source:
+ *   plugin: some_source_plugin_name
+ *   high_water_property:
+ *     name: something
+ * @endcode
  *
  * @see \Drupal\migrate\Plugin\MigratePluginManager
  * @see \Drupal\migrate\Annotation\MigrateSource
