You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Antoine Pitrou (Jira)" <ji...@apache.org> on 2022/10/03 16:59:00 UTC

[jira] [Commented] (ARROW-17917) [C++] Add opaque device id identification to InputStream

    [ https://issues.apache.org/jira/browse/ARROW-17917?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17612370#comment-17612370 ] 

Antoine Pitrou commented on ARROW-17917:
----------------------------------------

cc [~marsupialtail] [~westonpace] [~lidavidm] for opinions.

> [C++] Add opaque device id identification to InputStream
> --------------------------------------------------------
>
>                 Key: ARROW-17917
>                 URL: https://issues.apache.org/jira/browse/ARROW-17917
>             Project: Apache Arrow
>          Issue Type: Wish
>          Components: C++
>            Reporter: Antoine Pitrou
>            Priority: Major
>
> For the purpose of collecting input/output statistics, it is important to know to which "device" these stats pertain, so as not to mix e.g. stats for a local NVMe drive, a NFS-attached drive, a S3 filesystem, or a in-memory buffer reader.
> I suggest adding to InputStream this API:
> {code:c++}
> /// \brief An opaque unique id for the device underlying this stream.
> ///
> /// Any implementation is free to fill those bytes as it sees fit,
> /// but it should be able to uniquely identify each "device"
> /// (for example, a specific local drive, or a specific remote network
> /// filesystem).
> ///
> /// A suggested format is "<kind>:<bytes>" where "<kind>"
> /// is a short string representing the backend kind
> /// (for example "local", "s3"...) and "<bytes>" is a
> /// backend-dependent string of bytes (for example a
> /// `dev_t` for a POSIX local file).
> ///
> /// This is not required to be printable nor human-readable,
> /// and may contain NUL characters.
> virtual std::string device_id() const = 0;
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)